{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predicting Terrorist Attacks\n",
    "## Perpetrator Classification\n",
    "\n",
    "**Author:** Thomas Skowronek\n",
    "\n",
    "**Date:** April 07, 2018"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Notebook Configuration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import time\n",
    "import collections\n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import warnings; warnings.simplefilter('ignore')\n",
    "\n",
    "from sklearn.preprocessing import scale\n",
    "from sklearn import preprocessing\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import precision_score\n",
    "from sklearn.metrics import recall_score\n",
    "from sklearn.metrics import f1_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Display up to 150 rows and columns\n",
    "pd.set_option('display.max_rows', 220)\n",
    "pd.set_option('display.max_columns', 150)\n",
    "\n",
    "# Set the figure size for plots\n",
    "mpl.rcParams['figure.figsize'] = (14.6, 9.0)\n",
    "\n",
    "# Set the Seaborn default style for plots\n",
    "sns.set()\n",
    "\n",
    "# Set the color palette\n",
    "sns.set_palette(sns.color_palette(\"muted\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Load the Datasets\n",
    "Load the dataset created by the EDA notebook."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Load the preprocessed GTD dataset\n",
    "gtd_df = pd.read_csv('../data/gtd_eda_95t016.csv', low_memory=False, index_col = 0,\n",
    "                      na_values=[''])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Inspect the Structure\n",
    "The cleansed data frame contains 48 attributes, one of which is used for the data frame index, and 110,844 observations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 110844 entries, 199501000001 to 201701270001\n",
      "Data columns (total 48 columns):\n",
      "iyear               110844 non-null int64\n",
      "imonth              110844 non-null int64\n",
      "iday                110844 non-null int64\n",
      "country_txt         110844 non-null object\n",
      "region_txt          110844 non-null object\n",
      "provstate           110844 non-null object\n",
      "city                110844 non-null object\n",
      "latitude            110844 non-null float64\n",
      "longitude           110844 non-null float64\n",
      "specificity         110844 non-null float64\n",
      "summary             110844 non-null object\n",
      "attacktype1_txt     110844 non-null object\n",
      "targtype1_txt       110844 non-null object\n",
      "targsubtype1_txt    110844 non-null object\n",
      "corp1               110844 non-null object\n",
      "target1             110844 non-null object\n",
      "natlty1_txt         110844 non-null object\n",
      "gname               110844 non-null object\n",
      "nperpcap            110844 non-null float64\n",
      "weaptype1_txt       110844 non-null object\n",
      "weapsubtype1_txt    110844 non-null object\n",
      "nkill               110844 non-null float64\n",
      "nkillus             110844 non-null float64\n",
      "nkillter            110844 non-null float64\n",
      "nwound              110844 non-null float64\n",
      "nwoundus            110844 non-null float64\n",
      "nwoundte            110844 non-null float64\n",
      "scite1              110844 non-null object\n",
      "dbsource            110844 non-null object\n",
      "extended_txt        110844 non-null object\n",
      "vicinity_txt        110844 non-null object\n",
      "crit1_txt           110844 non-null object\n",
      "crit2_txt           110844 non-null object\n",
      "crit3_txt           110844 non-null object\n",
      "doubtterr_txt       110844 non-null object\n",
      "multiple_txt        110844 non-null object\n",
      "success_txt         110844 non-null object\n",
      "suicide_txt         110844 non-null object\n",
      "guncertain1_txt     110844 non-null object\n",
      "individual_txt      110844 non-null object\n",
      "claimed_txt         110844 non-null object\n",
      "property_txt        110844 non-null object\n",
      "ishostkid_txt       110844 non-null object\n",
      "INT_LOG_txt         110844 non-null object\n",
      "INT_IDEO_txt        110844 non-null object\n",
      "INT_MISC_txt        110844 non-null object\n",
      "INT_ANY_txt         110844 non-null object\n",
      "incident_date       110844 non-null object\n",
      "dtypes: float64(10), int64(3), object(35)\n",
      "memory usage: 41.4+ MB\n"
     ]
    }
   ],
   "source": [
    "# Display a summary of the data frame\n",
    "gtd_df.info(verbose = True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Convert Attributes to Correct Data Type\n",
    "Convert a subset of the data frame attributes to categorical, datatime and string to align with the GTD code book as executed previously in the EDA notebook."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 110844 entries, 199501000001 to 201701270001\n",
      "Data columns (total 48 columns):\n",
      "iyear               110844 non-null int64\n",
      "imonth              110844 non-null int64\n",
      "iday                110844 non-null int64\n",
      "country_txt         110844 non-null category\n",
      "region_txt          110844 non-null category\n",
      "provstate           110844 non-null object\n",
      "city                110844 non-null object\n",
      "latitude            110844 non-null float64\n",
      "longitude           110844 non-null float64\n",
      "specificity         110844 non-null category\n",
      "summary             110844 non-null object\n",
      "attacktype1_txt     110844 non-null category\n",
      "targtype1_txt       110844 non-null category\n",
      "targsubtype1_txt    110844 non-null category\n",
      "corp1               110844 non-null object\n",
      "target1             110844 non-null object\n",
      "natlty1_txt         110844 non-null category\n",
      "gname               110844 non-null object\n",
      "nperpcap            110844 non-null float64\n",
      "weaptype1_txt       110844 non-null category\n",
      "weapsubtype1_txt    110844 non-null category\n",
      "nkill               110844 non-null float64\n",
      "nkillus             110844 non-null float64\n",
      "nkillter            110844 non-null float64\n",
      "nwound              110844 non-null float64\n",
      "nwoundus            110844 non-null float64\n",
      "nwoundte            110844 non-null float64\n",
      "scite1              110844 non-null object\n",
      "dbsource            110844 non-null object\n",
      "extended_txt        110844 non-null category\n",
      "vicinity_txt        110844 non-null category\n",
      "crit1_txt           110844 non-null category\n",
      "crit2_txt           110844 non-null category\n",
      "crit3_txt           110844 non-null category\n",
      "doubtterr_txt       110844 non-null category\n",
      "multiple_txt        110844 non-null category\n",
      "success_txt         110844 non-null category\n",
      "suicide_txt         110844 non-null category\n",
      "guncertain1_txt     110844 non-null category\n",
      "individual_txt      110844 non-null category\n",
      "claimed_txt         110844 non-null category\n",
      "property_txt        110844 non-null category\n",
      "ishostkid_txt       110844 non-null category\n",
      "INT_LOG_txt         110844 non-null category\n",
      "INT_IDEO_txt        110844 non-null category\n",
      "INT_MISC_txt        110844 non-null category\n",
      "INT_ANY_txt         110844 non-null category\n",
      "incident_date       110844 non-null datetime64[ns]\n",
      "dtypes: category(27), datetime64[ns](1), float64(9), int64(3), object(8)\n",
      "memory usage: 21.7+ MB\n"
     ]
    }
   ],
   "source": [
    "# List of attributes that are categorical\n",
    "cat_attrs = ['extended_txt', 'country_txt', 'region_txt', 'specificity', 'vicinity_txt',\n",
    "             'crit1_txt', 'crit2_txt', 'crit3_txt', 'doubtterr_txt', 'multiple_txt',\n",
    "             'success_txt', 'suicide_txt', 'attacktype1_txt', 'targtype1_txt', \n",
    "             'targsubtype1_txt', 'natlty1_txt', 'guncertain1_txt', 'individual_txt', \n",
    "             'claimed_txt', 'weaptype1_txt', 'weapsubtype1_txt', 'property_txt', \n",
    "             'ishostkid_txt', 'INT_LOG_txt', 'INT_IDEO_txt','INT_MISC_txt', 'INT_ANY_txt']\n",
    "\n",
    "for cat in cat_attrs:\n",
    "    gtd_df[cat] = gtd_df[cat].astype('category')\n",
    "\n",
    "# Data time feature added during EDA\n",
    "gtd_df['incident_date'] = pd.to_datetime(gtd_df['incident_date'])\n",
    "\n",
    "# Necessary for label encoding below\n",
    "gtd_df['gname'] = gtd_df['gname'].astype('str')\n",
    "    \n",
    "gtd_df.info(verbose = True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Find the Major Groups\n",
    "Get the list of terrorist groups that have 20 or more attacks."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Unknown                                                         59531\n",
       "Taliban                                                          6558\n",
       "Islamic State of Iraq and the Levant (ISIL)                      4261\n",
       "Al-Shabaab                                                       2669\n",
       "Boko Haram                                                       2067\n",
       "Communist Party of India - Maoist (CPI-Maoist)                   1766\n",
       "Revolutionary Armed Forces of Colombia (FARC)                    1529\n",
       "New People's Army (NPA)                                          1444\n",
       "Maoists                                                          1411\n",
       "Kurdistan Workers' Party (PKK)                                   1255\n",
       "Tehrik-i-Taliban Pakistan (TTP)                                  1250\n",
       "Al-Qaida in the Arabian Peninsula (AQAP)                          966\n",
       "Liberation Tigers of Tamil Eelam (LTTE)                           950\n",
       "Houthi extremists (Ansar Allah)                                   862\n",
       "Al-Qaida in Iraq                                                  633\n",
       "Donetsk People's Republic                                         613\n",
       "National Liberation Army of Colombia (ELN)                        569\n",
       "Muslim extremists                                                 534\n",
       "Abu Sayyaf Group (ASG)                                            460\n",
       "Separatists                                                       454\n",
       "Fulani extremists                                                 431\n",
       "Palestinian Extremists                                            384\n",
       "Basque Fatherland and Freedom (ETA)                               369\n",
       "Algerian Islamic Extremists                                       366\n",
       "Moro Islamic Liberation Front (MILF)                              336\n",
       "Hamas (Islamic Resistance Movement)                               334\n",
       "Tripoli Province of the Islamic State                             327\n",
       "Chechen Rebels                                                    326\n",
       "Sinai Province of the Islamic State                               323\n",
       "Bangsamoro Islamic Freedom Movement (BIFM)                        320\n",
       "United Liberation Front of Assam (ULFA)                           314\n",
       "Baloch Republican Army (BRA)                                      298\n",
       "Lord's Resistance Army (LRA)                                      293\n",
       "Gunmen                                                            263\n",
       "Al-Nusrah Front                                                   263\n",
       "Al-Qaida in the Islamic Maghreb (AQIM)                            249\n",
       "Luhansk People's Republic                                         207\n",
       "Salafist Group for Preaching and Fighting (GSPC)                  207\n",
       "Janjaweed                                                         200\n",
       "Armed Islamic Group (GIA)                                         192\n",
       "Allied Democratic Forces (ADF)                                    191\n",
       "Corsican National Liberation Front (FLNC)                         175\n",
       "Al-Aqsa Martyrs Brigade                                           170\n",
       "Hezbollah                                                         169\n",
       "Baloch Liberation Army (BLA)                                      168\n",
       "Palestinian Islamic Jihad (PIJ)                                   166\n",
       "Khorasan Chapter of the Islamic State                             165\n",
       "National Democratic Front of Bodoland (NDFB)                      164\n",
       "Baloch Liberation Front (BLF)                                     160\n",
       "Garo National Liberation Army                                     158\n",
       "Lashkar-e-Taiba (LeT)                                             156\n",
       "Hutu extremists                                                   149\n",
       "Hizbul Mujahideen (HM)                                            147\n",
       "Al-Gama'at al-Islamiyya (IG)                                      146\n",
       "Runda Kumpulan Kecil (RKK)                                        146\n",
       "Islamic State of Iraq (ISI)                                       145\n",
       "Barqa Province of the Islamic State                               144\n",
       "Shining Path (SL)                                                 139\n",
       "Muslim Separatists                                                134\n",
       "National Union for the Total Independence of Angola (UNITA)       134\n",
       "Islamist extremists                                               129\n",
       "Muttahida Qami Movement (MQM)                                     124\n",
       "Tribesmen                                                         124\n",
       "Lashkar-e-Jhangvi                                                 122\n",
       "Lashkar-e-Islam (Pakistan)                                        117\n",
       "Free Syrian Army                                                  112\n",
       "Free Aceh Movement (GAM)                                          109\n",
       "Mozambique National Resistance Movement (MNR)                     107\n",
       "Democratic Front for the Liberation of Rwanda (FDLR)               94\n",
       "Pro Hartal Activists                                               92\n",
       "Dissident Republicans                                              91\n",
       "United Baloch Army (UBA)                                           88\n",
       "Uighur Separatists                                                 86\n",
       "Corsican National Liberation Front- Historic Channel               84\n",
       "Animal Liberation Front (ALF)                                      84\n",
       "National Socialist Council of Nagaland-Isak-Muivah (NSCN-IM)       81\n",
       "Haqqani Network                                                    79\n",
       "Janatantrik Terai Mukti Morcha- Jwala Singh (JTMM-J)               78\n",
       "Anarchists                                                         77\n",
       "National Liberation Front of Tripura (NLFT)                        77\n",
       "Movement for the Emancipation of the Niger Delta (MEND)            76\n",
       "Militants                                                          75\n",
       "Jemaah Islamiya (JI)                                               75\n",
       "People's Liberation Army (India)                                   75\n",
       "Bangladesh Nationalist Party (BNP)                                 74\n",
       "People's War Group (PWG)                                           73\n",
       "Earth Liberation Front (ELF)                                       72\n",
       "Muslim Militants                                                   72\n",
       "Ansar Bayt al-Maqdis (Ansar Jerusalem)                             71\n",
       "Jihadi-inspired extremists                                         67\n",
       "Irish Republican Army (IRA)                                        67\n",
       "Jamaat-E-Islami (Bangladesh)                                       66\n",
       "Asa'ib Ahl al-Haqq                                                 65\n",
       "Sudan People's Liberation Movement in Opposition (SPLM-IO)         65\n",
       "United Self Defense Units of Colombia (AUC)                        64\n",
       "Ansar al-Sharia (Libya)                                            64\n",
       "Anti-Abortion extremists                                           63\n",
       "Popular Front for the Liberation of Palestine (PFLP)               62\n",
       "Opposition Group                                                   61\n",
       "Paraguayan People's Army (EPP)                                     60\n",
       "Southern Mobility Movement (Yemen)                                 58\n",
       "Sindhu Desh Liberation Army (SDLA)                                 58\n",
       "Thai Islamic Militants                                             58\n",
       "Sudan People's Liberation Movement - North                         58\n",
       "Kosovo Liberation Army (KLA)                                       58\n",
       "Al-Qaida                                                           56\n",
       "People's Liberation Front of India                                 54\n",
       "Anti-Balaka Militia                                                54\n",
       "Conspiracy of Cells of Fire                                        54\n",
       "Left-Wing Guerrillas                                               54\n",
       "Ansar al-Dine (Mali)                                               53\n",
       "Indian Mujahideen                                                  51\n",
       "National Socialist Council of Nagaland-Khaplang (NSCN-K)           50\n",
       "Niger Delta Avengers (NDA)                                         49\n",
       "Movement for Oneness and Jihad in West Africa (MUJAO)              49\n",
       "Resistenza                                                         48\n",
       "Palestinians                                                       45\n",
       "Albanian extremists                                                45\n",
       "Mayi Mayi                                                          45\n",
       "Popular Resistance Committees                                      44\n",
       "Tawhid and Jihad                                                   44\n",
       "Informal Anarchist Federation                                      44\n",
       "Adan-Abyan Province of the Islamic State                           43\n",
       "Revolutionary United Front (RUF)                                   43\n",
       "Caucasus Emirate                                                   42\n",
       "Real Irish Republican Army (RIRA)                                  41\n",
       "Karen National Union                                               41\n",
       "Movement of Democratic Forces of Casamance                         40\n",
       "Patriotic Resistance Front in Ituri (FRPI)                         40\n",
       "Buddhist Monks                                                     40\n",
       "Naxalites                                                          39\n",
       "Oglaigh na hEireann                                                39\n",
       "Party for the Liberation of the Hutu People (PALIPEHUTU)           38\n",
       "Devrimici Halk Kurtulus Cephesi (DHKP/C)                           38\n",
       "Kangleipak Communist Party (KCP)                                   37\n",
       "Tribal Group                                                       37\n",
       "Taliban (Pakistan)                                                 37\n",
       "Hizb-I-Islami                                                      36\n",
       "Muslim Brotherhood                                                 36\n",
       "Neo-Nazi extremists                                                36\n",
       "Israeli extremists                                                 36\n",
       "National Liberation Army (NLA) (Macedonia)                         35\n",
       "Al-Naqshabandiya Army                                              35\n",
       "Free Papua Movement (OPM-Organisasi Papua Merdeka)                 35\n",
       "Anti-Government extremists                                         35\n",
       "Islamic Front (Syria)                                              35\n",
       "Israeli settlers                                                   34\n",
       "Communist Party of Nepal-Maoist (Baidya)                           34\n",
       "Paramilitaries                                                     34\n",
       "Khmer Rouge                                                        33\n",
       "Islamic State in Bangladesh                                        33\n",
       "Jama'atul Mujahideen Bangladesh (JMB)                              32\n",
       "Ajnad Misr                                                         32\n",
       "Janatantrik Terai Mukti Morcha (JTMM)                              32\n",
       "Seleka                                                             32\n",
       "National Liberation Front (FNL) (Burundi)                          32\n",
       "The New Irish Republican Army                                      32\n",
       "Continuity Irish Republican Army (CIRA)                            31\n",
       "Maoist Communist Center (MCC)                                      31\n",
       "Baloch Nationalists                                                31\n",
       "Sanaa Province of the Islamic State                                30\n",
       "Sunni Muslim extremists                                            30\n",
       "Jaish-e-Mohammad (JeM)                                             29\n",
       "Rebels                                                             29\n",
       "Jaysh al-Islam (Syria)                                             29\n",
       "Kurdistan Freedom Hawks (TAK)                                      29\n",
       "Southern Front                                                     28\n",
       "Al-Fatah                                                           28\n",
       "Ansar al-Islam                                                     28\n",
       "Communist Party of Nepal - Maoist (CPN-Maoist-Chand)               28\n",
       "United National Liberation Front (UNLF)                            28\n",
       "Balochistan Liberation United Front (BLUF)                         28\n",
       "Muslim Rebels                                                      28\n",
       "Janatantrik Terai Mukti Morcha- Goit (JTMM-G)                      27\n",
       "People's Revolutionary Party of Kangleipak (PREPAK)                27\n",
       "Loyalists                                                          27\n",
       "Sudan People's Liberation Army (SPLA)                              26\n",
       "Death Squad                                                        26\n",
       "Loyalist Volunteer Forces (LVF)                                    26\n",
       "Kachin Independence Army (KIA)                                     26\n",
       "Moro National Liberation Front (MNLF)                              26\n",
       "Pattani United Liberation Organization (PULO)                      26\n",
       "Anti-Muslim extremists                                             26\n",
       "Popular Resistance Committees (Yemen)                              25\n",
       "Abdullah Azzam Brigades                                            25\n",
       "Haftar Militia                                                     25\n",
       "Awami League                                                       25\n",
       "Peasant Self-Defense Group (ACCU)                                  24\n",
       "Dima Halao Daoga (DHD)                                             24\n",
       "United Front for Democracy Against Dictatorship                    24\n",
       "Jaish-e-Islam                                                      24\n",
       "Ahrar al-Sham                                                      24\n",
       "Revolutionary Struggle                                             24\n",
       "Right-wing extremists                                              24\n",
       "Halqa-e-Mehsud                                                     23\n",
       "Lashkar-e-Balochistan                                              23\n",
       "Protestant extremists                                              23\n",
       "Communist Party of Nepal- Maoist (CPN-M)                           23\n",
       "Red Hand Defenders (RHD)                                           23\n",
       "Azawad National Liberation Movement (MNLA)                         22\n",
       "Mujahedin-e Khalq (MEK)                                            22\n",
       "Mujahideen Youth Movement (MYM)                                    22\n",
       "Barisan Revolusi Nasional (BRN)                                    22\n",
       "People's Committee against Police Atrocities (PCPA)                22\n",
       "Ta'ang National Liberation Army (TNLA)                             22\n",
       "Murle Tribe                                                        21\n",
       "Coordination Committee (CORCOM)                                    21\n",
       "Popular Revolutionary Army (Mexico)                                21\n",
       "White extremists                                                   21\n",
       "Strikers                                                           21\n",
       "Purbo Banglar Communist Party                                      21\n",
       "Jundallah (Pakistan)                                               20\n",
       "Ulster Volunteer Force (UVF)                                       20\n",
       "Democratic Front for the Liberation of Palestine (DFLP)            20\n",
       "Military Council of the Tribal Revolutionaries (MCTR)              20\n",
       "Mujahidin Indonesia Timur (MIT)                                    20\n",
       "Democratic Karen Buddhist Army (DKBA)                              20\n",
       "Anti-Semitic extremists                                            20\n",
       "Name: gname, dtype: int64"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Calculate the number of attacks by group\n",
    "groups = gtd_df['gname'].value_counts()\n",
    "\n",
    "# Include groups with at least 20 attacks\n",
    "groups = groups[groups > 19]\n",
    "\n",
    "# Exclude unknown groups\n",
    "#group_list = groups.index[groups.index != 'Unknown']\n",
    "group_list = groups.index\n",
    "\n",
    "# Subset the data to major groups\n",
    "major_groups = gtd_df[gtd_df['gname'].isin(group_list)]\n",
    "\n",
    "# Display the number of attacks by group\n",
    "major_groups['gname'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Drop Text and Datetime Attributes\n",
    "Remove the text and datetime attributes, which will not be used in the models."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 106144 entries, 199501000001 to 201612310044\n",
      "Data columns (total 40 columns):\n",
      "iyear               106144 non-null int64\n",
      "imonth              106144 non-null int64\n",
      "iday                106144 non-null int64\n",
      "country_txt         106144 non-null category\n",
      "region_txt          106144 non-null category\n",
      "latitude            106144 non-null float64\n",
      "longitude           106144 non-null float64\n",
      "specificity         106144 non-null category\n",
      "attacktype1_txt     106144 non-null category\n",
      "targtype1_txt       106144 non-null category\n",
      "targsubtype1_txt    106144 non-null category\n",
      "natlty1_txt         106144 non-null category\n",
      "gname               106144 non-null object\n",
      "nperpcap            106144 non-null float64\n",
      "weaptype1_txt       106144 non-null category\n",
      "weapsubtype1_txt    106144 non-null category\n",
      "nkill               106144 non-null float64\n",
      "nkillus             106144 non-null float64\n",
      "nkillter            106144 non-null float64\n",
      "nwound              106144 non-null float64\n",
      "nwoundus            106144 non-null float64\n",
      "nwoundte            106144 non-null float64\n",
      "extended_txt        106144 non-null category\n",
      "vicinity_txt        106144 non-null category\n",
      "crit1_txt           106144 non-null category\n",
      "crit2_txt           106144 non-null category\n",
      "crit3_txt           106144 non-null category\n",
      "doubtterr_txt       106144 non-null category\n",
      "multiple_txt        106144 non-null category\n",
      "success_txt         106144 non-null category\n",
      "suicide_txt         106144 non-null category\n",
      "guncertain1_txt     106144 non-null category\n",
      "individual_txt      106144 non-null category\n",
      "claimed_txt         106144 non-null category\n",
      "property_txt        106144 non-null category\n",
      "ishostkid_txt       106144 non-null category\n",
      "INT_LOG_txt         106144 non-null category\n",
      "INT_IDEO_txt        106144 non-null category\n",
      "INT_MISC_txt        106144 non-null category\n",
      "INT_ANY_txt         106144 non-null category\n",
      "dtypes: category(27), float64(9), int64(3), object(1)\n",
      "memory usage: 14.3+ MB\n"
     ]
    }
   ],
   "source": [
    "major_groups = major_groups.drop(['provstate', 'city', 'summary', 'corp1', 'target1',\n",
    "                                  'scite1', 'dbsource', 'incident_date'], axis=1)\n",
    "\n",
    "major_groups.info(verbose = True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Standardize the Numeric Attributes\n",
    "Adjust for differences in the range of the numeric attributes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>nperpcap</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>0.093185</td>\n",
       "      <td>1.766333</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>406.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nkill</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>0.726518</td>\n",
       "      <td>5.881224</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>749.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nkillus</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>0.039559</td>\n",
       "      <td>5.881791</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1358.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nkillter</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>0.438310</td>\n",
       "      <td>4.068101</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nwound</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>1.181134</td>\n",
       "      <td>12.390895</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2455.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nwoundus</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>0.020416</td>\n",
       "      <td>2.125241</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>650.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>nwoundte</th>\n",
       "      <td>106144.0</td>\n",
       "      <td>0.089256</td>\n",
       "      <td>1.410185</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>200.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             count      mean        std  min  25%  50%  75%          max\n",
       "nperpcap  106144.0  0.093185   1.766333  0.0  0.0  0.0  0.0   406.000000\n",
       "nkill     106144.0  0.726518   5.881224 -0.5 -0.5  0.0  0.5   749.500000\n",
       "nkillus   106144.0  0.039559   5.881791  0.0  0.0  0.0  0.0  1358.000000\n",
       "nkillter  106144.0  0.438310   4.068101  0.0  0.0  0.0  0.0   500.000000\n",
       "nwound    106144.0  1.181134  12.390895  0.0  0.0  0.0  1.0  2455.333333\n",
       "nwoundus  106144.0  0.020416   2.125241  0.0  0.0  0.0  0.0   650.000000\n",
       "nwoundte  106144.0  0.089256   1.410185  0.0  0.0  0.0  0.0   200.000000"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scaler = preprocessing.RobustScaler()\n",
    "\n",
    "# List of numeric attributes\n",
    "scale_attrs = ['nperpcap', 'nkill', 'nkillus', 'nkillter', 'nwound', 'nwoundus', 'nwoundte']\n",
    "\n",
    "# Standardize the attributes in place\n",
    "major_groups[scale_attrs] = scaler.fit_transform(major_groups[scale_attrs])\n",
    "\n",
    "# View the transformation\n",
    "major_groups[scale_attrs].describe().transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Separate Known and Unknown\n",
    "Split the major groups into known and unknown."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Known Major Groups: (46613, 40)\n",
      "Unknown Major Groups: (59531, 40)\n"
     ]
    }
   ],
   "source": [
    "# Excluded Unknown groups\n",
    "known_maj_groups = major_groups[gtd_df['gname'] != \"Unknown\"]\n",
    "print(\"Known Major Groups: {}\".format(known_maj_groups.shape))\n",
    "\n",
    "# Only include Unknown groups\n",
    "unknown_maj_groups = major_groups[gtd_df['gname'] == \"Unknown\"]\n",
    "print(\"Unknown Major Groups: {}\".format(unknown_maj_groups.shape))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Encode the Target Attribute\n",
    "Convert the text values of the terrorist groups to an encoded numeric value for the random forest models."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LabelEncoder()"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create the encoder\n",
    "le = preprocessing.LabelEncoder()\n",
    "\n",
    "# Fit the encoder to the target\n",
    "le.fit(known_maj_groups['gname'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Abdullah Azzam Brigades',\n",
       " 'Abu Sayyaf Group (ASG)',\n",
       " 'Adan-Abyan Province of the Islamic State',\n",
       " 'Ahrar al-Sham',\n",
       " 'Ajnad Misr',\n",
       " 'Al-Aqsa Martyrs Brigade',\n",
       " 'Al-Fatah',\n",
       " \"Al-Gama'at al-Islamiyya (IG)\",\n",
       " 'Al-Naqshabandiya Army',\n",
       " 'Al-Nusrah Front',\n",
       " 'Al-Qaida',\n",
       " 'Al-Qaida in Iraq',\n",
       " 'Al-Qaida in the Arabian Peninsula (AQAP)',\n",
       " 'Al-Qaida in the Islamic Maghreb (AQIM)',\n",
       " 'Al-Shabaab',\n",
       " 'Albanian extremists',\n",
       " 'Algerian Islamic Extremists',\n",
       " 'Allied Democratic Forces (ADF)',\n",
       " 'Anarchists',\n",
       " 'Animal Liberation Front (ALF)',\n",
       " 'Ansar Bayt al-Maqdis (Ansar Jerusalem)',\n",
       " 'Ansar al-Dine (Mali)',\n",
       " 'Ansar al-Islam',\n",
       " 'Ansar al-Sharia (Libya)',\n",
       " 'Anti-Abortion extremists',\n",
       " 'Anti-Balaka Militia',\n",
       " 'Anti-Government extremists',\n",
       " 'Anti-Muslim extremists',\n",
       " 'Anti-Semitic extremists',\n",
       " 'Armed Islamic Group (GIA)',\n",
       " \"Asa'ib Ahl al-Haqq\",\n",
       " 'Awami League',\n",
       " 'Azawad National Liberation Movement (MNLA)',\n",
       " 'Baloch Liberation Army (BLA)',\n",
       " 'Baloch Liberation Front (BLF)',\n",
       " 'Baloch Nationalists',\n",
       " 'Baloch Republican Army (BRA)',\n",
       " 'Balochistan Liberation United Front (BLUF)',\n",
       " 'Bangladesh Nationalist Party (BNP)',\n",
       " 'Bangsamoro Islamic Freedom Movement (BIFM)',\n",
       " 'Barisan Revolusi Nasional (BRN)',\n",
       " 'Barqa Province of the Islamic State',\n",
       " 'Basque Fatherland and Freedom (ETA)',\n",
       " 'Boko Haram',\n",
       " 'Buddhist Monks',\n",
       " 'Caucasus Emirate',\n",
       " 'Chechen Rebels',\n",
       " 'Communist Party of India - Maoist (CPI-Maoist)',\n",
       " 'Communist Party of Nepal - Maoist (CPN-Maoist-Chand)',\n",
       " 'Communist Party of Nepal- Maoist (CPN-M)',\n",
       " 'Communist Party of Nepal-Maoist (Baidya)',\n",
       " 'Conspiracy of Cells of Fire',\n",
       " 'Continuity Irish Republican Army (CIRA)',\n",
       " 'Coordination Committee (CORCOM)',\n",
       " 'Corsican National Liberation Front (FLNC)',\n",
       " 'Corsican National Liberation Front- Historic Channel',\n",
       " 'Death Squad',\n",
       " 'Democratic Front for the Liberation of Palestine (DFLP)',\n",
       " 'Democratic Front for the Liberation of Rwanda (FDLR)',\n",
       " 'Democratic Karen Buddhist Army (DKBA)',\n",
       " 'Devrimici Halk Kurtulus Cephesi (DHKP/C)',\n",
       " 'Dima Halao Daoga (DHD)',\n",
       " 'Dissident Republicans',\n",
       " \"Donetsk People's Republic\",\n",
       " 'Earth Liberation Front (ELF)',\n",
       " 'Free Aceh Movement (GAM)',\n",
       " 'Free Papua Movement (OPM-Organisasi Papua Merdeka)',\n",
       " 'Free Syrian Army',\n",
       " 'Fulani extremists',\n",
       " 'Garo National Liberation Army',\n",
       " 'Gunmen',\n",
       " 'Haftar Militia',\n",
       " 'Halqa-e-Mehsud',\n",
       " 'Hamas (Islamic Resistance Movement)',\n",
       " 'Haqqani Network',\n",
       " 'Hezbollah',\n",
       " 'Hizb-I-Islami',\n",
       " 'Hizbul Mujahideen (HM)',\n",
       " 'Houthi extremists (Ansar Allah)',\n",
       " 'Hutu extremists',\n",
       " 'Indian Mujahideen',\n",
       " 'Informal Anarchist Federation',\n",
       " 'Irish Republican Army (IRA)',\n",
       " 'Islamic Front (Syria)',\n",
       " 'Islamic State in Bangladesh',\n",
       " 'Islamic State of Iraq (ISI)',\n",
       " 'Islamic State of Iraq and the Levant (ISIL)',\n",
       " 'Islamist extremists',\n",
       " 'Israeli extremists',\n",
       " 'Israeli settlers',\n",
       " 'Jaish-e-Islam',\n",
       " 'Jaish-e-Mohammad (JeM)',\n",
       " \"Jama'atul Mujahideen Bangladesh (JMB)\",\n",
       " 'Jamaat-E-Islami (Bangladesh)',\n",
       " 'Janatantrik Terai Mukti Morcha (JTMM)',\n",
       " 'Janatantrik Terai Mukti Morcha- Goit (JTMM-G)',\n",
       " 'Janatantrik Terai Mukti Morcha- Jwala Singh (JTMM-J)',\n",
       " 'Janjaweed',\n",
       " 'Jaysh al-Islam (Syria)',\n",
       " 'Jemaah Islamiya (JI)',\n",
       " 'Jihadi-inspired extremists',\n",
       " 'Jundallah (Pakistan)',\n",
       " 'Kachin Independence Army (KIA)',\n",
       " 'Kangleipak Communist Party (KCP)',\n",
       " 'Karen National Union',\n",
       " 'Khmer Rouge',\n",
       " 'Khorasan Chapter of the Islamic State',\n",
       " 'Kosovo Liberation Army (KLA)',\n",
       " 'Kurdistan Freedom Hawks (TAK)',\n",
       " \"Kurdistan Workers' Party (PKK)\",\n",
       " 'Lashkar-e-Balochistan',\n",
       " 'Lashkar-e-Islam (Pakistan)',\n",
       " 'Lashkar-e-Jhangvi',\n",
       " 'Lashkar-e-Taiba (LeT)',\n",
       " 'Left-Wing Guerrillas',\n",
       " 'Liberation Tigers of Tamil Eelam (LTTE)',\n",
       " \"Lord's Resistance Army (LRA)\",\n",
       " 'Loyalist Volunteer Forces (LVF)',\n",
       " 'Loyalists',\n",
       " \"Luhansk People's Republic\",\n",
       " 'Maoist Communist Center (MCC)',\n",
       " 'Maoists',\n",
       " 'Mayi Mayi',\n",
       " 'Militants',\n",
       " 'Military Council of the Tribal Revolutionaries (MCTR)',\n",
       " 'Moro Islamic Liberation Front (MILF)',\n",
       " 'Moro National Liberation Front (MNLF)',\n",
       " 'Movement for Oneness and Jihad in West Africa (MUJAO)',\n",
       " 'Movement for the Emancipation of the Niger Delta (MEND)',\n",
       " 'Movement of Democratic Forces of Casamance',\n",
       " 'Mozambique National Resistance Movement (MNR)',\n",
       " 'Mujahedin-e Khalq (MEK)',\n",
       " 'Mujahideen Youth Movement (MYM)',\n",
       " 'Mujahidin Indonesia Timur (MIT)',\n",
       " 'Murle Tribe',\n",
       " 'Muslim Brotherhood',\n",
       " 'Muslim Militants',\n",
       " 'Muslim Rebels',\n",
       " 'Muslim Separatists',\n",
       " 'Muslim extremists',\n",
       " 'Muttahida Qami Movement (MQM)',\n",
       " 'National Democratic Front of Bodoland (NDFB)',\n",
       " 'National Liberation Army (NLA) (Macedonia)',\n",
       " 'National Liberation Army of Colombia (ELN)',\n",
       " 'National Liberation Front (FNL) (Burundi)',\n",
       " 'National Liberation Front of Tripura (NLFT)',\n",
       " 'National Socialist Council of Nagaland-Isak-Muivah (NSCN-IM)',\n",
       " 'National Socialist Council of Nagaland-Khaplang (NSCN-K)',\n",
       " 'National Union for the Total Independence of Angola (UNITA)',\n",
       " 'Naxalites',\n",
       " 'Neo-Nazi extremists',\n",
       " \"New People's Army (NPA)\",\n",
       " 'Niger Delta Avengers (NDA)',\n",
       " 'Oglaigh na hEireann',\n",
       " 'Opposition Group',\n",
       " 'Palestinian Extremists',\n",
       " 'Palestinian Islamic Jihad (PIJ)',\n",
       " 'Palestinians',\n",
       " \"Paraguayan People's Army (EPP)\",\n",
       " 'Paramilitaries',\n",
       " 'Party for the Liberation of the Hutu People (PALIPEHUTU)',\n",
       " 'Patriotic Resistance Front in Ituri (FRPI)',\n",
       " 'Pattani United Liberation Organization (PULO)',\n",
       " 'Peasant Self-Defense Group (ACCU)',\n",
       " \"People's Committee against Police Atrocities (PCPA)\",\n",
       " \"People's Liberation Army (India)\",\n",
       " \"People's Liberation Front of India\",\n",
       " \"People's Revolutionary Party of Kangleipak (PREPAK)\",\n",
       " \"People's War Group (PWG)\",\n",
       " 'Popular Front for the Liberation of Palestine (PFLP)',\n",
       " 'Popular Resistance Committees',\n",
       " 'Popular Resistance Committees (Yemen)',\n",
       " 'Popular Revolutionary Army (Mexico)',\n",
       " 'Pro Hartal Activists',\n",
       " 'Protestant extremists',\n",
       " 'Purbo Banglar Communist Party',\n",
       " 'Real Irish Republican Army (RIRA)',\n",
       " 'Rebels',\n",
       " 'Red Hand Defenders (RHD)',\n",
       " 'Resistenza',\n",
       " 'Revolutionary Armed Forces of Colombia (FARC)',\n",
       " 'Revolutionary Struggle',\n",
       " 'Revolutionary United Front (RUF)',\n",
       " 'Right-wing extremists',\n",
       " 'Runda Kumpulan Kecil (RKK)',\n",
       " 'Salafist Group for Preaching and Fighting (GSPC)',\n",
       " 'Sanaa Province of the Islamic State',\n",
       " 'Seleka',\n",
       " 'Separatists',\n",
       " 'Shining Path (SL)',\n",
       " 'Sinai Province of the Islamic State',\n",
       " 'Sindhu Desh Liberation Army (SDLA)',\n",
       " 'Southern Front',\n",
       " 'Southern Mobility Movement (Yemen)',\n",
       " 'Strikers',\n",
       " \"Sudan People's Liberation Army (SPLA)\",\n",
       " \"Sudan People's Liberation Movement - North\",\n",
       " \"Sudan People's Liberation Movement in Opposition (SPLM-IO)\",\n",
       " 'Sunni Muslim extremists',\n",
       " \"Ta'ang National Liberation Army (TNLA)\",\n",
       " 'Taliban',\n",
       " 'Taliban (Pakistan)',\n",
       " 'Tawhid and Jihad',\n",
       " 'Tehrik-i-Taliban Pakistan (TTP)',\n",
       " 'Thai Islamic Militants',\n",
       " 'The New Irish Republican Army',\n",
       " 'Tribal Group',\n",
       " 'Tribesmen',\n",
       " 'Tripoli Province of the Islamic State',\n",
       " 'Uighur Separatists',\n",
       " 'Ulster Volunteer Force (UVF)',\n",
       " 'United Baloch Army (UBA)',\n",
       " 'United Front for Democracy Against Dictatorship',\n",
       " 'United Liberation Front of Assam (ULFA)',\n",
       " 'United National Liberation Front (UNLF)',\n",
       " 'United Self Defense Units of Colombia (AUC)',\n",
       " 'White extremists']"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# View the labels\n",
    "list(le.classes_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 24,  24,  24, ..., 200,  43, 116])"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# View the encoded values for th terrorist group names\n",
    "label_codes = le.transform(known_maj_groups['gname'])\n",
    "label_codes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Abdullah Azzam Brigades',\n",
       " 'Abu Sayyaf Group (ASG)',\n",
       " 'Adan-Abyan Province of the Islamic State',\n",
       " 'Anti-Muslim extremists']"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Convert some integers into their category names\n",
    "list(le.inverse_transform([0, 1, 2, 27]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Create Training and Testing Datasets\n",
    "The original dataset is split into 80% training and 20% testing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Seed for reproducible results\n",
    "seed = 1009\n",
    "\n",
    "# Predictor variables\n",
    "X = pd.get_dummies(known_maj_groups.drop(['gname'], axis=1), drop_first=True)\n",
    "\n",
    "# Labels\n",
    "y = label_codes\n",
    "\n",
    "# Create an 80/20 split for training and testing data\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = seed, stratify = y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Random Forest Model\n",
    "Create the model using 1000 estimators."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution Seconds: 163.3958101272583\n",
      "\n",
      "\n",
      "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
      "            max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
      "            min_impurity_decrease=0.0, min_impurity_split=None,\n",
      "            min_samples_leaf=1, min_samples_split=2,\n",
      "            min_weight_fraction_leaf=0.0, n_estimators=1000, n_jobs=-1,\n",
      "            oob_score=True, random_state=1009, verbose=0, warm_start=False)\n"
     ]
    }
   ],
   "source": [
    "start = time.time()\n",
    "\n",
    "# Create the model\n",
    "rf1 = RandomForestClassifier(n_estimators = 1000, oob_score = True, n_jobs = -1, random_state = seed)\n",
    "\n",
    "# Fit it to the training data\n",
    "rf1.fit(X_train, y_train)\n",
    "\n",
    "end = time.time()\n",
    "print(\"Execution Seconds: {}\".format((end - start)))\n",
    "print(\"\\n\")\n",
    "print(rf1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Feature Importance\n",
    "Display the top 50 features by importance in descending order."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Features Ranking - Top 50:\n",
      "\n",
      "(0.090610911185397228, 'longitude')\n",
      "(0.083954438743832377, 'latitude')\n",
      "(0.043483756997256352, 'iyear')\n",
      "(0.027691347890146083, 'region_txt_South Asia')\n",
      "(0.020542442864198204, 'INT_ANY_txt_YES')\n",
      "(0.020472018264479187, 'INT_IDEO_txt_YES')\n",
      "(0.019689082832654241, 'country_txt_Iraq')\n",
      "(0.019204650188159301, 'iday')\n",
      "(0.0186233206889303, 'region_txt_Middle East & North Africa')\n",
      "(0.018312949801860115, 'imonth')\n",
      "(0.01796840599946959, 'country_txt_Somalia')\n",
      "(0.017826924906577581, 'natlty1_txt_Iraq')\n",
      "(0.014905832405740093, 'region_txt_Sub-Saharan Africa')\n",
      "(0.014600956795743695, 'INT_IDEO_txt_UKNOWN')\n",
      "(0.01449914516069721, 'INT_LOG_txt_UKNOWN')\n",
      "(0.014341933733816589, 'nkill')\n",
      "(0.014124991750796529, 'INT_ANY_txt_UKNOWN')\n",
      "(0.01278521064019564, 'country_txt_Pakistan')\n",
      "(0.012443160980158798, 'country_txt_India')\n",
      "(0.012165962613075542, 'natlty1_txt_Pakistan')\n",
      "(0.011929074011110962, 'natlty1_txt_India')\n",
      "(0.011803792421003724, 'nwound')\n",
      "(0.011771647569482803, 'country_txt_Nigeria')\n",
      "(0.011095482250811181, 'natlty1_txt_Nigeria')\n",
      "(0.010532593783208985, 'natlty1_txt_Somalia')\n",
      "(0.0090285682766629519, 'natlty1_txt_Turkey')\n",
      "(0.0086527513535869429, 'claimed_txt_YES')\n",
      "(0.0084765999032618226, 'country_txt_Turkey')\n",
      "(0.0081390168062485165, 'natlty1_txt_Yemen')\n",
      "(0.0080006155322214171, 'country_txt_Colombia')\n",
      "(0.0079576496577239975, 'natlty1_txt_Colombia')\n",
      "(0.0079119259330834111, 'country_txt_Yemen')\n",
      "(0.0076781797056645834, 'country_txt_Sri Lanka')\n",
      "(0.0074380696434846781, 'guncertain1_txt_YES')\n",
      "(0.0072787195213728012, 'natlty1_txt_Sri Lanka')\n",
      "(0.0072456789135080697, 'natlty1_txt_Philippines')\n",
      "(0.0071578482749237553, 'country_txt_Philippines')\n",
      "(0.0067259998763715429, 'region_txt_South America')\n",
      "(0.0066159098349960928, 'region_txt_Southeast Asia')\n",
      "(0.006523393611892781, 'INT_LOG_txt_YES')\n",
      "(0.006424854765613529, 'multiple_txt_YES')\n",
      "(0.0060672329301916048, 'property_txt_YES')\n",
      "(0.005921317661060391, 'claimed_txt_UKNOWN')\n",
      "(0.0051886229869100515, 'targtype1_txt_Private Citizens & Property')\n",
      "(0.0049426862005971465, 'nkillter')\n",
      "(0.0049251958228551298, 'specificity_3.0')\n",
      "(0.0048504003709983444, 'attacktype1_txt_Bombing/Explosion')\n",
      "(0.0046924634848562932, 'weaptype1_txt_Explosives/Bombs/Dynamite')\n",
      "(0.0045568666805495314, 'INT_MISC_txt_YES')\n",
      "(0.0042475812589193055, 'region_txt_Eastern Europe')\n"
     ]
    }
   ],
   "source": [
    "# Get the modified column names with one hot encoding\n",
    "column_names = list(X_train.columns.values)\n",
    "\n",
    "# Create a descending sorted list of variables by featur importance\n",
    "var_imp = sorted(zip(map(lambda x: x, rf1.feature_importances_), column_names), \n",
    "             reverse = True)\n",
    "\n",
    "print(\"\\nFeatures Ranking - Top 50:\\n\")\n",
    "for f in var_imp[0:50]:\n",
    "    print(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAALZCAYAAABbD9vsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3XmYVIWd7+Ev0Oy0a2QyEmGM0rgA\nAVxwCSpuY0zGuCIS0cRoXKIxuBE1GiSK6EzQGPcEUXFBFOMSY0xQRoiGqFwR8Ao6jCtEwUiURZut\n7h8+1E0r2N30YdP3fR4f6Tr1q3OqurqqPn1OVTcqlUqlAAAA0CCN1/UGAAAAfB6IKwAAgAKIKwAA\ngAKIKwAAgAKIKwAAgAKIKwAAgAJUrOsNAFgb7r///px//vm1nu+6667L/vvvv0a3pbq6OnfeeWdO\nOOGENbqe1dW/f/8888wzefzxx/OVr3xlXW9Og6zvt/Xa8Ktf/SrXXnttnc7brl27PPHEE2t4i1bu\niiuuyC233LLSZYcddliGDh1a47R77703I0eOzOuvv55NNtkk3/zmN3PGGWekZcuWa2NzAVZKXAFf\nKLvuumt23XXXVS7feuut1/g2HHvssXn11Ve/0C/41xa39cf3+dNPP73Gab/97W8za9asHHfccdlo\no43Kp1dWVq7tzSubMWNGWrVqtdLv1fbbb1/j62uuuSbXXXdddthhh/Tv3z8vvfRShg8fnqlTp2bE\niBGpqPDyBlg3PPoAXyi77rprzjjjjHW6DX//+9/X6fq/SNzWSc+ePdOzZ88apz3zzDOZNWtWjj/+\n+PVm7+SMGTPSqVOnWn8+X3/99dxwww3Zddddc+utt6ZJkyZJkiuvvDLDhw/Pb3/72xx11FFrY5MB\nPsV7rgCAdeq9997Lu+++m6qqqlrPe/fdd2f58uU59dRTy2GVJKeffnpatmyZe++9d01uKsBnElcA\nq1AqlXL33XfnsMMOS9euXbPLLrvklFNOyf/9v//3U+dduHBhrrvuunz7299O9+7d06VLlxx44IG5\n8sors2jRoiTJW2+9lU6dOmXWrFmZP39+OnXqlJ/85CdJPn6fU6dOnfLBBx/UuNwVM6eddlr5tJ/8\n5Cfp1KlTpkyZkoMPPjhdunRJ3759UyqVknz8m/1zzjkne+yxRzp37pxvfOMbuemmm7JkyZLVvi36\n9++fAw44ILNmzcqZZ56ZnXfeOTvvvHN+9KMf5b333ssHH3yQiy66KD179syuu+6aU045JW+99VaN\ny+jUqVPOOeecTJw4MUceeWS6du2afffdN1dddVWqq6s/tc4pU6bktNNOS8+ePdOlS5ccfPDBufHG\nG7N48eIa59t3333Tv3//jBkzJnvssUe6d++eM844Y5W3dZK8/PLLOffcc7P33nunc+fO6dGjR/r2\n7ZvHHnusxmX/6le/SqdOnTJz5swMGzYs++yzTzp37pxvfvObufvuuz+1zcuWLcuIESNyyCGHpFu3\nbtl7771z7rnn5s0336xxvvrct9aV6urqXHvttTnooIPSuXPn9OzZM6effnpeeumlGucbP358OnXq\nlAcffDC33XZb9t1333zta1/LYYcdloceeqhO65o+fXqSj+8jtXn22WfTpEmT7LzzzjVOb9WqVbp0\n6ZKpU6fmo48+quO1BCiWwwIBVmHgwIF58MEH07Fjx/Tt2zcffvhhHn300fTt2zc33XRTdt999yTJ\n0qVL873vfS9TpkzJ17/+9Xz961/PwoUL88QTT2T48OF56623cs0112SjjTbK6aefnttuuy3V1dX5\nwQ9+8Kn3ktTHqaeemi5dumTPPfdMq1at0qhRo7z44os5/vjj89FHH+XAAw/Mlltumeeeey7Dhg3L\ns88+m5tuuqnGb/vrY8GCBTnmmGPy5S9/OX369MmkSZPy2GOPZd68eVm0aFGqq6tz2GGH5ZVXXsm4\nceMyZ86cjBkzJo0aNSpfxowZM3LiiSeme/fu+c53vpOJEyfmxhtvzOTJkzNixIg0bvzx7/zGjh2b\nM888M40bN87++++fL33pS5k4cWKuuuqqTJgwISNGjEizZs3Kl/vKK69k8ODB+fa3v50lS5Zk7733\nTlVV1Upv6ylTpqR///5p1qxZDjzwwGy22WZ5/fXX8/jjj+dHP/pRbrzxxvTu3bvGdT/33HMze/bs\nHHjggamoqMhDDz2UQYMGpVWrVvn2t7+d5ONgOvnkkzNhwoRsu+22OfLIIzNv3rz8/ve/z8SJE3Pf\nffflX/7lX5LU/b61rixatCjHH398pkyZku222y7HHHNM5syZk8cffzxPPvlkrr322uy99941Zm67\n7bbMmDEjBx98cNq0aZM//elPOffcc/P222/nBz/4wWeub8aMGUmSuXPn5vjjj8+LL76Yxo0bZ489\n9shZZ52V9u3bl8/75ptv5stf/nKN7/8K7dq1yzPPPJPXX3+9TqEGULgSwBfAmDFjSlVVVaVjjz22\ndM0116z0vzfffLN8/t///velqqqq0llnnVVasmRJ+fQ33nijtOuuu5Z69epVqq6uLpVKpdLvfve7\nUlVVVWnYsGE11jl//vzSHnvsUdp+++1LixYtKp/eu3fv0k477VTjvMcee2ypqqqq9P7779c4/c03\n3yxVVVWVTj311PJpAwcOLFVVVZVOP/30Guddvnx56Vvf+lapS5cupalTp9ZYNmTIkFJVVVXpjjvu\nqPW2WrEt/3x7rDjthz/8YWn58uWlUqlUWrJkSWmfffYpVVVVlY4++ujy7fHP5/+f//mf8mlVVVWl\nqqqq0iWXXFI+bcmSJaUf/vCHpaqqqtKYMWPKt9suu+xS6tGjR2natGk1znv22WeXqqqqStdee235\n9N69e5eqqqpKt99++6euy8pu6xNOOKG0ww471Ni2UqlUeuSRR8rf8xWuueaaUlVVVal3796lv//9\n7+XTJ02aVKqqqir169evfNq9995bqqqqKv3oRz+qcVs8/PDDpaqqqtLPf/7zUqlUv/vWmrKy7/E/\nGzZsWKmqqqp00UUXlZYuXVo+/fnnny917ty5tNtuu5Xv008++WT5e/vEE0+Uz/vOO++U9tlnn9KO\nO+5Yeuuttz5ze1bcp3fcccfSGWecURo6dGjpu9/9bqmqqqq0yy67lF555ZVSqfTxfbyqqqp0yCGH\nrPRyfv7zn5eqqqpKzz77bL1uD4CiOCwQ+EJ55plncu211670v1mzZpXPd9999yVJLrzwwhqfPLbV\nVlulb9++eeedd/L0008nSXbYYYdceuml+e53v1tjXW3atMkOO+yQZcuW5f333y/8uvz7v/97ja9f\neOGFvPzyyznyyCPTuXPnGsvOPPPMNG3aNPfff3+D1nnccceV90RVVFSkS5cuSVLeE7TC1772tST5\n1KGBrVq1yplnnln+uqKiIuedd16S5OGHH07y8V6r999/P8cdd1x23HHHGue94IIL0qJFi4wZM+ZT\n2/bJ22NVvvvd7+Y///M/s80229Q4fcWHPqzsQzCOOOKIbLbZZuWve/TokY022iivvfZa+bRHHnkk\nSXLBBRfUuC2++c1v5pRTTkmPHj2S1O++ta789re/TZs2bXLBBRfU2NPZrVu39OnTJ++9996nPrJ9\n9913r7HHr23btjnxxBOzZMmSTx1u+UkVFRVp165dbrvttlxzzTUZOHBgRowYkUsvvTTvv/9+fvrT\nnyZJ+dDWle21+ufTP3noKMDa4rBA4Avl9NNPr9OnBb744otp3rx57rzzzk8te/XVV5MkL730UvbZ\nZ59svfXW2XrrrVNdXZ0XXnghr776at544428+OKLeeaZZ5J8/F6corVr1+5T25wkb7zxRn71q199\n6vytW7fOjBkzUiqVahyqVx8dOnSo8XWrVq2S5FOfONe8efMk+dT7vDp16pSNN964xmnt27fPJpts\nUn7fzYr/77LLLp9a/2abbZatt946L730UubPn1/+6PCmTZumbdu2dboOvXr1SvLxIWjTp0/PG2+8\nkVdffTWTJk1KsvLv1co+or9NmzZZsGBB+evp06dnyy23LB/6t0KjRo0yYMCA8tf1uW+tC++9917e\neeed7L777mnRosWnlu+000654447Mn369Hzzm98sn76y79eK+F7xPV2VSy+9dKWnH3XUURk9enSe\nf/75zJo1K+3atUuTJk1W+f7BFVHlb10B64q4AliJ+fPnZ+nSpZ/5x1dX7I1avnx5brrppowYMaJ8\n2uabb57u3bunXbt2mTlzZvnDJor0yRe+Kz4MY8KECZkwYcIq5xYuXJg2bdqs1jpX9aJ1VXsSPumT\n4bHCl770pbz++utJUg6WVW1j27Zt89JLL+XDDz8sx9XKImBV/va3v+XnP/95nnjiiZRKpTRu3Dj/\n9m//lp122mmVHyixsuvXqFGjGt/XDz74IF/60pdqXX997lsr89e//rUc7StUVlZ+as/p6lpx+6/q\nb16tiNgPP/ywxukr+95uscUWST6+zqtrhx12yJQpU/LWW2+lXbt2qaysXOXl1bbtAGuauAJYiVat\nWqV169b57//+71rPe8stt+Tqq6/OrrvumpNOOinbb799+UXliSeemJkzZ9Z5vZ+MsPp86tmKvUiX\nXXZZjjzyyDrPrU0r+1TA5OMw2XTTTZN8vIctSebMmbPK8ybJJptsUu/1l0ql/OAHP8j//M//5OST\nT87++++fjh07pkWLFnn33Xcb9DHerVq1ysKFC1e6bNGiReXvT33uWyuz4tDWf9auXbvC4qq2239F\n+H3y9l/Z93bF92rF93ZlFi9eXN6z1bVr108tX3G5K/aGbr311pk2bVqWLFmSpk2b1jjvW2+9laZN\nm2arrbZa5foA1iTvuQJYiU6dOuXtt9/O3LlzP7Vs3Lhxueqqq8ovCH/3u9+lSZMmueGGG7LXXnuV\nw6pUKuV///d/y//+LCv2jKz42PYV3njjjXptc5JMmzbtU8uWLFmSoUOHZuTIkXW+vDVh2rRpWb58\neY3TZs2alTlz5pTfp7XiU/1WHKb3zxYsWJCXXnopHTp0qPPesn82Y8aMvPzyyznggAMyYMCAdOnS\npbzXa0UEr+5exqqqqsyePXul95lDDz20/J6w+ty3VuaMM87IjBkzavz3yfc/NcTmm2+etm3b5uWX\nX17pHrTnnnsuSdKxY8cap0+dOvVT5508eXKS//8evJVZsmRJjj766Jx66qmfuu2XLVuWyZMnp1mz\nZuW/gdWjR48sWbKkfNkrLFq0KFOnTs12221XDjGAtU1cAazEYYcdllKplJ///Oc13hw/Z86cDBo0\nKDfffHN5T0Tz5s2zbNmyvPfeezUu4/rrry9/SMbSpUvLpzdt2rTG18n/f0/PuHHjyqdVV1dn+PDh\ndd7mXXbZJV/5yldy33335fnnn6+x7Oabb86IESPK78taV+bOnZvf/OY35a9XRF/y8YdGJMn++++f\nysrK3HXXXTW2d+nSpbnsssvy0UcflT/+vDafvK1XBNknP7TiH//4R6688sryelbHIYccklKplP/6\nr/+q8b6tRx99NK+//nr549Xrc99aVw477LAsWrQoV1xxRY3r8sILL2TUqFHZdNNNs9dee9WYeeSR\nR/LCCy+Uv37nnXdy0003pbKyMgcccMAq19W6dev06tUr7777bkaMGFFj2U033ZRXX301hx12WPk2\nOeSQQ9KoUaNcc801NW6/a6+9Nh999FGOPvroBl13gIZwWCDAShx++OF54okn8thjj2XGjBnp1atX\nli5dmkcffTT/+Mc/cvbZZ5f/9s4hhxySyZMn55hjjsk3vvGNNG3aNH/961/z4osvZvPNN8/f//73\n/OMf/yhfdtu2bfPaa6/lnHPOyde//vUceuihOfLII3PXXXdlyJAheeGFF7Lpppvm8ccfT2VlZZ1f\naDdp0iRXXHFFTjrppBx77LHZb7/9stVWW2XatGmZOHFivvKVr+Sss85aI7dXXbVu3TrXXHNN/vrX\nv2abbbbJX/7yl7z88sv59re/Xf6kuTZt2mTIkCEZMGBA+vbtmwMOOCCbb755Jk6cmJdffjk777xz\nTjrppDqt75O39SGHHJKuXbvmueeeS79+/dKjR4/MmzcvY8eOzeLFi9OyZcvMmzdvta7bkUcemT/+\n8Y954IEHMmPGjPTs2TPvvPNO/vjHP6Zdu3blD7Woz31rXTn11FPz1FNPZcyYMXnxxRfTs2fPzJkz\nJ2PHjk3jxo1zxRVXfOr9d61atUr//v1z0EEHpWXLlvnTn/6UefPm5fLLL6/xSYsrc+GFF2bq1Km5\n4oor8vTTT6djx46ZMmVKnnvuuXTq1Cnnnntu+bzbbbdd+vfvn9tvvz1HHHFE9t5777z00kv585//\nnJ49e+bQQw9dI7cJQF3YcwWwEit+M37hhRemZcuWuffee/Poo49m2223zXXXXVfjj6L269cvF110\nUTbZZJPce++9efjhh9O6desMGzYsgwcPTpI8+eST5fOfe+656dixY/7whz/kwQcfTPLxC8abb745\nnTt3zqOPPpqHHnoou+++e2699dZ6/dHfnXfeOffee28OOuigPPfcc7n99tsze/bs9O/fP/fcc0+d\nP1FvTdlqq63ym9/8JnPnzs2oUaOybNmyXHDBBbniiitqnO/AAw/MXXfdlT333DMTJkzI6NGjkyTn\nnXdebr311jofEvjJ27px48a5/vrrc/jhh+ett97KyJEj89xzz2WvvfbKmDFjsueee+a1116r1+GY\nK6w4NPTHP/5xPvroo9x5552ZOHFi/uM//iN33313+VMS63PfWldatmyZO+64Iz/84Q/z0Ucf5a67\n7sqzzz6bAw88MPfee++n/oBw8vEn+w0YMCATJ07MQw89lK9+9asZPnx4nWKnQ4cOGTNmTA477LC8\n9NJLGTlyZN5+++2ceOKJueuuuz71ARXnn39+zj///CxZsiS33XZbXn311Xz/+9/P9ddf/6n3YQGs\nTY1Ka+IjrADgEzp16pTtttuuHJR8PowfPz4nnXRSTjrppJxzzjnrenMA1il7rgAAAAogrgAAAAog\nrgAAAArgPVcAAAAFsOcKAACgAOvN37maO3d+g+Y33bRV5s1btE7m1+W6zZs3b968efPmzW846za/\n4c9vsUXlKpd9bvZcVVTU/e/AFD2/Ltdt3rx58+bNmzdvfsNZt/kNf/6zfG7iCgAAYF0SVwAAAAUQ\nVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAA\nAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAUQVwAAAAWo\nWNcbUB8Td+tW75ndJk5eA1sCAABQkz1XAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAA\nBRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBX\nAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAA\nBRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABRBXAAAABahY\n1xuwNk3crVu9Z3abOHkNbAkAAPB5Y88VAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAASpqO8Py5cszaNCgzJgxI82aNcull16aDh06lJePHj06o0aNSkVFRU499dT07t07s2fPznnn\nnZdSqZSNN944v/jFL9KyZcs1ekUAAADWpVr3XI0dOzaLFy/OPffck7PPPjtDhw4tL5s7d25GjhyZ\nUaNGZfjw4Rk2bFgWL16cW2+9Nd/4xjdy5513pmPHjrnvvvvW6JUAAABY12qNq0mTJqVXr15Jkm7d\numXatGnlZVOmTEn37t3TrFmzVFZWpn379pk+fXq23377fPDBB0mSBQsWpKKi1h1kAAAAG7RGpVKp\n9FlnuPDCC3PggQdm7733TpLss88+GTt2bCoqKvLggw/m5ZdfzrnnnpskOe+883LooYemUaNGOffc\nc7Pxxhtn8eLFGT16dDbddNPP3JClS5eloqLJZ57n4W22qc91S5L8x8yZhc0DAACsSq27lNq0aZOF\nCxeWv16+fHl5T9Qnly1cuDCVlZW5+OKLc/nll6dXr1757//+7wwcODA333zzZ65n3rxFq3sdPtPc\nufPX+PwWW1Q2aD3mzZs3b968efPm1978hrzt5teP+VWp9bDAHj16ZPz48UmSyZMnp6qqqrysa9eu\nmTRpUqqrqzN//vzMnDkzVVVV2WijjVJZ+fFK27ZtWz5EEAAA4POq1j1XBxxwQJ566qn07ds3pVIp\nQ4YMyYgRI9K+ffvst99+6d+/f/r165dSqZQBAwakefPmueiiizJ48OAsX748pVIpF1988dq4LgAA\nAOtMrXHVuHHjDB48uMZp2/zTe5f69OmTPn361Fi+7bbb5vbbby9oEwEAANZ//ogwAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAWqNq+XLl+fiiy/O0Ucfnf79\n++f111+vsXz06NE5/PDD06dPn4wbNy5JsmjRopx33nnp169fjjrqqEyZMmXNbD0AAMB6oqK2M4wd\nOzaLFy/OPffck8mTJ2fo0KG54YYbkiRz587NyJEjM2bMmFRXV6dfv37Zc889M3z48HTs2DFXXnll\npk+fnunTp6dr165r/MoAAACsK7XuuZo0aVJ69eqVJOnWrVumTZtWXjZlypR07949zZo1S2VlZdq3\nb5/p06fnz3/+c5o2bZrvf//7uf7668vzAAAAn1e1xtWCBQvSpk2b8tdNmjTJ0qVLy8sqKyvLy1q3\nbp0FCxZk3rx5+eCDDzJ8+PDsu+++ueKKK9bApgMAAKw/aj0ssE2bNlm4cGH56+XLl6eiomKlyxYu\nXJjKyspssskm2XfffZMkvXv3zs0331zrhmy6aatUVDSp9xWozRZbVNZ+pgLm19Z6zJs3b968efPm\nzTd8fkPedvPrfn5Vao2rHj16ZNy4cTn44IMzefLkVFVVlZd17do1V199daqrq7N48eLMnDkzVVVV\n2WmnnfLkk0+mc+fOefbZZ7PtttvWuiHz5i1q2DVZhblz56/x+S22qGzQesybN2/evHnz5s2vvfkN\nedvNrx/zq1JrXB1wwAF56qmn0rdv35RKpQwZMiQjRoxI+/bts99++6V///7p169fSqVSBgwYkObN\nm+fkk0/OT3/60xx99NGpqKhwWCAAAPC5V2tcNW7cOIMHD65x2jbbbFP+d58+fdKnT58ayzfZZJNc\ne+21BW0iAADA+s8fEQYAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIA\nACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiA\nuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIA\nACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiA\nuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIA\nACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiA\nuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIA\nACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiA\nuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAACiAuAIAAChAxbregA3JxN261Xtmt4mT\n18CWAAAA6xt7rgAAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAAog\nrgAAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAApQa1wtX748F198cY4++uj0798/r7/+eo3lo0eP\nzuGHH54+ffpk3LhxNZY9++yz2XvvvYvdYgAAgPVQRW1nGDt2bBYvXpx77rknkydPztChQ3PDDTck\nSebOnZuRI0dmzJgxqa6uTr8OQ62bAAAgAElEQVR+/bLnnnumWbNm+dvf/pZbbrklS5cuXeNXAgAA\nYF2rdc/VpEmT0qtXryRJt27dMm3atPKyKVOmpHv37mnWrFkqKyvTvn37TJ8+PdXV1fnZz36WQYMG\nrbENBwAAWJ/UGlcLFixImzZtyl83adKkvDdqwYIFqaysLC9r3bp1FixYkMGDB+eEE07Iv/zLv6yB\nTQYAAFj/1HpYYJs2bbJw4cLy18uXL09FRcVKly1cuDBNmzbNc889lzfeeCPXXXdd3n///QwYMCBX\nXXXVZ65n001bpaKiyepej1XaYovK2s+0HsxvKNtp3rx58+bNmzf/eZjfkLfd/LqfX5Va46pHjx4Z\nN25cDj744EyePDlVVVXlZV27ds3VV1+d6urqLF68ODNnzkzXrl3z2GOPlc+z55571hpWSTJv3qLV\nvAqfbe7c+ev9/BZbVDZoPebNmzdv3rx58+Y3jHWb/3zMr0qtcXXAAQfkqaeeSt++fVMqlTJkyJCM\nGDEi7du3z3777Zf+/funX79+KZVKGTBgQJo3b77aGwoAALChqjWuGjdunMGDB9c4bZtttin/u0+f\nPunTp88q55966qkGbB4AAMCGwR8RBgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4\nAgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAA\nKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4\nAgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAA\nKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4\nAgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAA\nKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKIC4AgAAKEDFut6AL5KJu3Wr98xuEyevgS0BAACKZs8V\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQV\nAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABA\nAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAAcQVAABAASpqO8Py5cszaNCgzJgxI82aNcul\nl16aDh06lJePHj06o0aNSkVFRU499dT07t07s2fPzgUXXJBly5alVCpl8ODB+epXv7pGrwgAAMC6\nVGtcjR07NosXL84999yTyZMnZ+jQobnhhhuSJHPnzs3IkSMzZsyYVFdXp1+/ftlzzz3zy1/+Msce\ne2z233//TJgwIcOGDcu11167xq/M593E3brVe2a3iZMLmwcAAFat1riaNGlSevXqlSTp1q1bpk2b\nVl42ZcqUdO/ePc2aNUuzZs3Svn37TJ8+PQMHDkxlZWWSZNmyZWnevPka2nwAAID1Q61xtWDBgrRp\n06b8dZMmTbJ06dJUVFRkwYIF5YhKktatW2fBggXZbLPNkiT/+7//myuuuCLXXXddrRuy6aatUlHR\nZHWuw2faYovK2s9kvsHzG8p2mjdv3rx58+bNr+t1m9/w51el1rhq06ZNFi5cWP56+fLlqaioWOmy\nhQsXlmNr4sSJueSSS3LllVfW6f1W8+YtqvfG18XcufPNr+H5LbaobNB6zJs3b968efPm1+b8hrzt\n5teP+VWpNa569OiRcePG5eCDD87kyZNTVVVVXta1a9dcffXVqa6uzuLFizNz5sxUVVVl4sSJueyy\ny/Kb3/wm7dq1W+0NZ/3iPVsAALBqtcbVAQcckKeeeip9+/ZNqVTKkCFDMmLEiLRv3z777bdf+vfv\nn379+qVUKmXAgAFp3rx5hgwZkiVLluQnP/lJkmTrrbfO4MGD1/iVAQAAWFdqjavGjRt/Koy22Wab\n8r/79OmTPn361Fj+0EMPFbR5AAAAG4Za4wqK4rBCAAA+zxqv6w0AAAD4PBBXAAAABXBYIBsMhxUC\nALA+E1d8YYgzAADWJIcFAgAAFMCeK6gje74AAPgs4grWEnEGAPD55rBAAACAAogrAACAAogrAACA\nAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogr\nAACAAogrAACAAlSs6w0A6mbibt3qPbPbxMlrYEsAAFgZcQVfEOIMAGDNEldAnYgzAIDPJq6AtUKc\nAQCfd+IK2CCIMwBgfefTAgEAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAAogrgAAAArgo9iBL4T6\nfpS7j3EHAOpLXAHUgTgDAGrjsEAAAIAC2HMFsBbY8wUAn3/iCmADIM4AYP0nrgC+ABoaZ+IOAGrn\nPVcAAAAFEFcAAAAFcFggAGucwwoB+CKw5woAAKAA4goAAKAADgsEYL3nsEIANgT2XAEAABRAXAEA\nABRAXAEAABRAXAEAABRAXAEAABRAXAEAABRAXAEAABTA37kC4HPP38kCYG2w5woAAKAA9lwBwGeo\n716vxJ4vgC8qcQUAa5A4A/jiEFcAsB4TZwAbDnEFAJ9jDY0zcQdQd+IKAFhjxBnwRSKuAID1ljgD\nNiTiCgD43BJnwNokrgAAVmFdv2dNHMKGxR8RBgAAKIC4AgAAKIDDAgEAPqcclghrl7gCAGCNEHd8\n0TgsEAAAoAD2XAEA8Llkzxdrm7gCAICVEGfUl8MCAQAACiCuAAAACiCuAAAACuA9VwAAsAZ4z9YX\nj7gCAID10Lr+O2HisP7EFQAAULgvYpyJKwAAYL2zIcaZuAIAAD531kWc+bRAAACAAogrAACAAogr\nAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACA\nAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAogrAACAAlTUdobly5dn0KBBmTFjRpo1a5ZL\nL700HTp0KC8fPXp0Ro0alYqKipx66qnp3bt33nvvvZxzzjn56KOP0rZt21x++eVp2bLlGr0iAAAA\n61Kte67Gjh2bxYsX55577snZZ5+doUOHlpfNnTs3I0eOzKhRozJ8+PAMGzYsixcvzvXXX59vfetb\nueuuu7LDDjvknnvuWaNXAgAAYF2rNa4mTZqUXr16JUm6deuWadOmlZdNmTIl3bt3T7NmzVJZWZn2\n7dtn+vTpNWb22muvPP3002to8wEAANYPjUqlUumzznDhhRfmwAMPzN57750k2WeffTJ27NhUVFTk\nwQcfzMsvv5xzzz03SXLeeefl0EMPzc9+9rM8/PDDadGiRd58882cd955ufvuu9f8tQEAAFhHat1z\n1aZNmyxcuLD89fLly1NRUbHSZQsXLkxlZWWN0xcuXJiNNtqo6O0GAABYr9QaVz169Mj48eOTJJMn\nT05VVVV5WdeuXTNp0qRUV1dn/vz5mTlzZqqqqtKjR488+eSTSZLx48dnp512WkObDwAAsH6o9bDA\nFZ8W+PLLL6dUKmXIkCEZP3582rdvn/322y+jR4/OPffck1KplJNPPjn//u//nnfffTcDBw7MwoUL\ns+mmm+YXv/hFWrVqtbauEwAAwFpXa1wBAABQO39EGAAAoADiCgAAoADiCgAAoADiaj2xZMmSdb0J\nG5w5c+Zk9uzZmTVrVp5//vl1vTnrlPsPAPU1Z86cdTr/RXPLLbfkvffeW9eb8YX22muv5cknn8zb\nb7+dNfWxExVr5FLXkmXLluX+++/P3/72t/Ts2TMdO3bMZpttVq/LWLBgQWbNmpWtttqq3p9oePnl\nl+f888+v18wKd999d2699dYsXbo0pVIpFRUV+eMf/1ivy5g+fXq22267LFmyJKNHj06zZs1yxBFH\npHHj+jfzBx98kMaNG6dNmzb1nl0d06ZNS+fOnVd7/vzzz88LL7yQDz/8MB9++GHat2+f0aNHF7iF\n67ci7j9fdH//+99TXV1d/nrLLbes1/ycOXPKt/+cOXPSvXv3ojexzpYsWZKmTZuutfUtXbo0U6dO\nrXH9v/Wtb6325c2ZMydt27YtcAs/W0MffxrqlltuyaGHHlrv5yuSxx9/PHfeeWf5vvePf/wjDz/8\n8Gpd1uo8773++uv5wx/+UP6F1pw5czJ48ODVWn9DLV++vN7P97/85S9z9913Z8mSJfnoo4/yb//2\nb3nkkUfW2vz6ZG2/7kmSli1b5rTTTkvbtm1zxBFHZK+99kqjRo3qdRnz589PZWXlGtrCteP999/P\nxhtvvNbXe8cdd+RPf/pT3n///Rx66KF54403cvHFFxe+ng06ri6++OK0bds2Tz/9dDp37pyBAwfm\n17/+dZ3n//CHP+TGG2/MsmXLctBBB6VRo0Y57bTT6jw/c+bMfPDBB6v1R5LvvffejBw5MjfccEMO\nOuig3HbbbfWaHzFiRH7/+9/n7rvvzhVXXJHZs2dnyy23zJAhQ/LTn/601vkXX3wxF154Ye69996M\nGzcugwYNSmVlZQYOHJh999231vnPisrLL7+81vnhw4dn1qxZOeSQQ3LIIYfU+zZ89dVX88gjj+Ti\niy/OgAEDcuaZZ9ZrfurUqfntb3+bDz/8sF7bvUJDn+AfeOCBVS479NBDa51vyP2noet+9tlnV7ls\nl112+czZs846a5VPJL/4xS9qXXeS9O/ff5WXcfvtt9fpMgYNGpTx48enbdu2KZVKadSoUUaNGlWn\n2aThcf/AAw/kpptuyuLFi8vrf/zxx+s8v7px3dCf2xVOP/30LFmyJHPmzMmyZcvStm3besVVQ1+g\nNfQFbkMef958880MHTo0v/zlL/P888/nxz/+cVq1apUrr7yyzoHd0BdYTz31VEaMGJHFixeXT6vr\nfT9p+ONXQ2//G2+8Mb/5zW/SokWL8ml//vOf6zR73XXX5aKLLsqoUaPSs2fPPP3003Veb0Of95Jk\n4MCB6d27d/7P//k/adu2bRYtWlTn9a/wyiuvZMGCBWncuHGGDRuWU045JbvvvnudZh999NEsX748\nixcvzpVXXpkTTzwx3//+9+u87gkTJmT8+PEZMmRIvve97+WSSy6p17Y3dL4hPz8N/dlr6Pe/Ic99\nKxxzzDE55phj8sorr+TGG2/Mz372sxxxxBE5/vjj6/w49IMf/CB33313nc77z8aOHZu//OUvmT9/\nfjbaaKPstNNO5de+ddXQx55nnnkmgwcPLr/u3nLLLXPUUUfVeb66ujqjRo3Kcccdl3feeSdDhgxJ\ns2bNMnDgwGyxxRa1zj/yyCO56667ctxxx+W73/1ujjjiiDqvuz426Lh64403ctlll2XSpEnZd999\nc/PNN9dr/tZbb83o0aPz/e9/P6eddlqOOOKIesdVz549s9lmm5XvnHV9gth0003Ttm3bLFy4MD17\n9sw111xTr20fP358Ro0alUaNGuV3v/tdHnvssWy88cbp27dvneavuuqqDB06NE2bNs3VV1+dX//6\n1+nQoUNOPPHEOj3ING7cOO3bt0/Pnj0zbdq0TJgwIccee2ydt/+qq67K+++/n9/97nc588wzs9lm\nm6VPnz7p2bNnneZbt26dRo0aZdGiRdlss83qfVjcoEGDcuyxx+ZLX/pSveZWaMgTfJI88cQTWbRo\nUXbddddMmzYt7777bnbaaac6P8g15P4zc+bMGl+XSqXcf//9adGiRZ3i6pMP6o0aNcrEiROzePHi\nz3zySVLn++dn+eST+fTp0zNkyJB6vbifMmVKxo4du1p7eZOGx/2vf/3r3HjjjfnXf/3X1Vr/6sb1\nwQcfnOTj72H37t3To0ePTJ06NVOnTq3X+hcsWJA77rgjF154YS666KJ873vfq9d8Q1+gNfQFbkMe\nf4YMGZIjjzwyFRUVGTp0aK688spsu+22OeecczJy5Mg6rb+hL7Auv/zyXHDBBfnyl79cp/V9UkMf\nvxp6+z/66KOZMGFCWrZsWa+55OPHvu7du2fUqFE5/PDDc//999d5tqHPe0nSokWLnHzyyXnttddy\n+eWXp1+/fvW+Dj/72c9y4YUX5le/+lUGDBiQ//zP/6xzXN1yyy25+eabc9ZZZ+XJJ5/MCSecUK+4\n2mSTTdKsWbMsXLgwHTp0qPELxrUx35Cfn4b+7DX0+9+Q574VPvjggzzyyCN58MEHU1lZmQsvvDBL\nly7NaaedljvuuKNOl7Hxxhvntttuy9Zbb11+Dvv617/+mTOXXHJJli9fnr322iutW7fOwoULM378\n+Pz5z3/OZZddVqf1Jg1/7PnlL3+ZO+64I2eccUZOOeWUHHPMMfWKq0svvTStWrXK8uXLc8kll6RL\nly7p2LFjBg0alOuuu67W+RWHAa54rdWsWbPVuh612aDjatmyZeVjV1f8Fqg+GjdunGbNmqVRo0Zp\n1KhRvR/ox40bV6/z/7PKysqMHTu2/Bvz+h6D27hx4zRp0iQvvvhittpqq/Lu1boeP1oqlbLddtvl\nnXfeyYcffpgdd9yxfLl1MXv27PIPZLdu3fL444+nV69e9boO7777bmbPnp158+Zlm222yR/+8Ic8\n8MADdfoN+o477pjhw4enbdu2GTBgQJYuXVqvdbdp0yaHHXZYvWb+WUOe4JOP76/Dhw8v/4CfcMIJ\nOfvss+s835D7zz+v5/XXX89PfvKT7LPPPrngggvqND9s2LDyv//xj3/kkksuSVVVVYYMGVLr7Kuv\nvrrKZbvuumud1v/Vr341ycf34ZtvvjkPPPBAhg0bVuf5JOnQoUOqq6tX68Vd0vC432qrrdKhQ4fV\nWney+nG94md0xIgROemkk5IkO+20U73jqKLi46eODz/8MC1atKj39W/oC7QiXuCu7uPP4sWLs99+\n+2XevHl5++23s+eeeyb5+BCtumroC6x//dd/zR577FHn9X1SQx+/Gnr7t2vXrsZeq/po2rRpnn32\n2SxdujQTJkzI3Llz6zzb0Oe9FZcxd+7cLFq0KIsWLcr7779f7+tQUVGRjh07ZsmSJenWrVuWLVtW\n59nmzZsn+fgxaMXPUH18+ctfzn333ZeWLVvmv/7rv7JgwYLVnv/FL35R7/mG/Pw09Gevod//hjz3\nrXDkkUfmkEMOyVVXXVXjl2vTp0+v82VsuummmT59eo2Z2uLqlVde+dRjy3777VfvX3g29LGncePG\n2WSTTdKoUaM0b948rVu3rtf87NmzM3z48FRXV2fSpEm55ppr0rRp09xyyy11mv/Wt76V73znO5k9\ne3ZOOumk7L///qtzNWq1QcfVj3/84xxzzDGZO3dujj766Dq/OFxh5513zllnnZV33nknF198cbp0\n6VKv+cmTJ+f++++vcWjE8OHD6zR76aWX5o033sjZZ5+dW265JYMGDarXupOPX6jef//95d+4vPLK\nK3V+kFjxYDRhwoTyb8wWL15c5wfqRYsW5S9/+Uu6dOmSSZMm1XvbjzrqqLRo0SJHHXVUzjzzzPJv\nD+r6G7izzjorCxYsSIsWLfLkk0/ma1/7Wp3mVuxZrKyszI033pgdd9yxHDi1PTj9s4Y8wSfJe++9\nV941/95779X7CerSSy/Nm2++2aD7z5133pnbbrst559/fnr37l3v+SeffDJDhgzJcccdl+985zt1\nmqnv7bQqr732WgYOHJhOnTrlvvvuq/cD9N/+9rf07t27HDj1PSywoXHfokWLnHjiidl+++3L97+z\nzjqrzvMN/eXMP//8Pv/88/WOowMOOCDXXntttttuu/Tp06fet39DX6A19AXuisefPn36rNbjT5L8\n5S9/yW677Zbk48fT+fPn13m2oS+wNt9881x88cXZYYcdyvefo48+us7rb+jjV0Nv/yVLluQ//uM/\nUvX/2HvzuJzSN378/USylH0du7QwY/nYlzCWsUSlpKQUScg2SKlkC6WEhixZMoiQCaNmzIQkhhZL\nhFZtiEiS9rp/f/Q95/M8qZ77PudhPr6/7/v16uVZXOc+zznnvq/72t6XpiZ//rRpwZs2bUJqaioW\nL14MHx8fpqixWL0HVKXEhoWFQV9fH+PHj6eK9leHRCLB6tWrMXr0aISGhjI5eTp16oQZM2bA1dUV\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a419251d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Get the features, standard deviation and indices\n",
    "importances = rf1.feature_importances_\n",
    "std = np.std([tree.feature_importances_ for tree in rf1.estimators_], axis=0)\n",
    "indices = np.argsort(importances)[::-1]\n",
    "\n",
    "# Filter to the top 50\n",
    "top_n = 50\n",
    "top_n_importances = importances[indices][0:top_n]\n",
    "top_n_std = std[0:top_n]\n",
    "top_n_indices = indices[0:top_n]\n",
    "\n",
    "# Create a list of x labels\n",
    "x_labels = [column_names[t] for t in top_n_indices]\n",
    "\n",
    "# Plot the results\n",
    "plt.figure()\n",
    "plt.title(\"Feature Importance - Top 50\",  fontsize=20)\n",
    "plt.bar(range(top_n), top_n_importances, color=\"firebrick\", yerr = top_n_std, align=\"center\")\n",
    "plt.xticks(rotation=90)\n",
    "plt.xticks(range(top_n), x_labels)\n",
    "plt.xlim([-1, top_n])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Accuracy: 0.9045371661482355\n",
      "\n",
      "Precision: 0.902580366378236\n",
      "\n",
      "Recall: 0.9045371661482355\n",
      "\n",
      "F1: 0.895149376819738\n"
     ]
    }
   ],
   "source": [
    "# Predict labels on the test dataset\n",
    "pred_labels1 = rf1.predict(X_test)\n",
    "\n",
    "# Calculate the accuracy of the model\n",
    "acc_score1 = accuracy_score(y_test, pred_labels1)\n",
    "print(\"\\nAccuracy: {}\".format(acc_score1))\n",
    "\n",
    "# Calculate the precision of the model\n",
    "prec_score1 = precision_score(y_test, pred_labels1, average='weighted')\n",
    "print(\"\\nPrecision: {}\".format(prec_score1))\n",
    "\n",
    "# Calculate the recall of the model\n",
    "rcll_score1 = recall_score(y_test, pred_labels1, average='weighted')\n",
    "print(\"\\nRecall: {}\".format(rcll_score1))\n",
    "\n",
    "# Calculate the F1 of the model\n",
    "f1_score1 = f1_score(y_test, pred_labels1, average='weighted')\n",
    "print(\"\\nF1: {}\".format(f1_score1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Apply Model to Uknown Groups\n",
    "Of the 106,544 observations, 56.25% have a group classification of Unknown."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Predictor variables\n",
    "X_unknown = pd.get_dummies(unknown_maj_groups.drop(['gname'], axis=1), drop_first=True)\n",
    "\n",
    "\n",
    "# Predict labels on the unknown dataset\n",
    "pred_labels2 = rf1.predict(X_unknown)\n",
    "\n",
    "# Get the list of predicted labels for unknown observations\n",
    "unknown_preds = list(le.inverse_transform(pred_labels2))\n",
    "\n",
    "# Calculate the counts for each group\n",
    "unknown_counts = collections.Counter(unknown_preds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Top 25 Predicted Unknown Groups\n",
    "The top 25 predicted groups account for 97.59% of the unknown observations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Muslim extremists : 24564\n",
      "Gunmen : 8568\n",
      "Separatists : 3677\n",
      "Tribesmen : 3490\n",
      "Militants : 3430\n",
      "Maoists : 2303\n",
      "Taliban : 1868\n",
      "Sunni Muslim extremists : 1461\n",
      "Taliban (Pakistan) : 1226\n",
      "Fulani extremists : 908\n",
      "Islamist extremists : 883\n",
      "New People's Army (NPA) : 871\n",
      "Anarchists : 826\n",
      "Opposition Group : 705\n",
      "Neo-Nazi extremists : 551\n",
      "Protestant extremists : 534\n",
      "Left-Wing Guerrillas : 392\n",
      "Muslim Separatists : 380\n",
      "Kurdistan Workers' Party (PKK) : 320\n",
      "Al-Shabaab : 214\n",
      "Liberation Tigers of Tamil Eelam (LTTE) : 208\n",
      "Chechen Rebels : 207\n",
      "Rebels : 185\n",
      "Paramilitaries : 174\n",
      "Anti-Abortion extremists : 156\n",
      "\n",
      "Top 25 Account For: 97.59789017486688%\n"
     ]
    }
   ],
   "source": [
    "# Top 25 unknown\n",
    "unknown_top25 = pd.DataFrame(unknown_counts.most_common()[0:25], columns=['Group', 'Attacks'])\n",
    "\n",
    "cumsum = 0\n",
    "\n",
    "# Display the top 25 groups with counts\n",
    "for index, row in unknown_top25.iterrows():\n",
    "    print(\"{} : {}\".format(row['Group'], row['Attacks']))\n",
    "    cumsum += row['Attacks']\n",
    "\n",
    "\n",
    "print(\"\\nTop 25 Account For: {}%\".format((cumsum / X_unknown.shape[0])*100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Muslim Extremists\n",
    "Almost half of the predicted unknown group observations are Muslim extremists."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/YAAAIvCAYAAADeXkAHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl0zdf+//FXgiBNaEQkqNtKIhEx\nhZQaqxRpiLauuYJSIaqIryGUNjW0glJCzZE0xFjVFh0MLa2S0tLULFFTY4gag8yf3x/9OVckMXMc\nno+1upbz2dP7fLLvWvd99t6fj5VhGIYAAAAAAIBFsjZ3AAAAAAAA4O6R2AMAAAAAYMFI7AEAAAAA\nsGAk9gAAAAAAWDASewAAAAAALBiJPQAAAAAAFqyguQMAAAC5RUREaNq0abdVt2zZstqwYcMDjihv\np06dUkREhDZt2qSzZ8/q6aefVr169dS/f3+VKVMmR90FCxZo9OjRefZTq1YtxcTE3HSsdu3a6Y8/\n/sh1vVChQnJwcJCPj4969uypKlWq3P0XukOrV6/WwIED9X//938KCgqSJIWEhGjNmjVas2aN3Nzc\n7qi/1NRULV68WN26dbuvcSYnJ6t+/fqqX7++5s2bd9vtdu3apeXLl2vbtm06efKksrKy5OLionr1\n6qlLly569tln72ucAIC7Q2IPAMAjqFatWurbt2+Oa1988YX+/vtvdenSRcWKFTNdt7e3f9jhSZJO\nnjypNm3aKDk5WQ0aNFCFChWUmJiolStX6qefftLSpUv1zDPPmOrv379fktS7d28VLJjz/4KULVv2\ntsft3r27bG1tTZ/T09P1119/ae3atdqwYYPmzJmjOnXq3OO3u3vNmzeXq6urHBwc7rhtu3bt9M8/\n/9z3xP5OZWZmatKkSZo3b54KFSqk2rVrq0GDBrKystK+ffu0aNEiLVmyRGPGjNFrr71m1lgBACT2\nAAA8kmrXrq3atWvnuPbrr7/q77//VteuXXMkzObyySefKDk5We+9957eeOMN0/Vly5ZpxIgRmjBh\ngqZMmWK6vn//fjk5OSkkJOSexu3evbucnJxyXV++fLneffddjR07VqtWrbqnMe6Fn5+f/Pz87qrt\nP//8c5+juTsff/yxIiMjVb16dU2cOFHlypXLUb5nzx4FBQVpxIgRqly5stzd3c0UKQBA4ow9AAC4\nC4ZhaN26dXJxcVGnTp1ylLVt21bOzs7atGlTjvoHDx6Up6fnA4updevWKlGihA4ePKikpKQHNs7j\nbvfu3YqKipKDg4NmzZqVK6mXpEqVKmn06NHKyMjQ/PnzzRAlAOB6JPYAADxG0tLSNG3aNPn5+aly\n5cqqXbu2+vbtq7179+aot2nTJnl6eurLL79UdHS0GjdurGrVqun111/XV199dctxMjIy1LdvX/Xp\n00dWVla5ym1sbJSamqrs7GxJ0tGjR3XlypUHmthbW1ubVvLPnz8v6d/z7lWqVNGOHTvUvHlzValS\nRYGBgaY2hw4d0sCBA1WnTh1VqVJF/v7+mjt3rjIzM3P1v2XLFgUGBsrHx0f16tXThAkTlJ6enqte\nSEiIPD09lZiYmOP6d999p86dO6tmzZp64YUX1KNHD+3YsUOSlJiYKE9PT505c0ZnzpyRp6en3nvv\nPVPbixcvKjw8XI0bN1blypX14osvatSoUTp79myu8Y8ePaqBAwfqhRdekI+Pj/r3769Tp07d9n1c\nunSpsrOz1bdvXz399NP51mvUqJFatWql559/3nRt0aJF8vT01Lp169S1a1dVrlxZjRs31smTJyX9\ne3xjxIgRatCggSpXrqxGjRpp1KhROnPmzG3dw7S0NHl6eqpdu3a5xoyLi9Mnn3yi+vXry8fHRx06\ndMjx49I1GzduVGBgoF544QVVq1ZNrVq10pw5c/L8mwOApWArPgAAj4krV66oa9euio+PV8WKFdWx\nY0edPn1a69ev18aNGzVt2jS9+OKLOdpER0dr//798vf3l52dndauXavBgwfr5MmTpofB5cXGxibf\nc+D79u3T8ePH5e7uLmvrf9cQrp2vT09PV+/evbVz506lp6erZs2aGjBggLy9ve/5+2dmZurvv/+W\nJJUqVcp0PSsrS71799bzzz+vBg0amJLVnTt3qnv37srIyFCzZs1UunRp/frrr5owYYJ+//13TZ8+\n3fSjxbp169SvXz/Z2trqlVdekSQtWbJERYoUua3Ypk6dqunTp8vJyUmvvPKKChUqpK+//lqBgYGK\njIyUu7u7+vbtq8jISEn/HjeoXLmypH9/pOjYsaMOHTqk+vXr65VXXtGRI0cUGxurn376SUuWLFGJ\nEiUkSceOHVOHDh109uxZNW3aVM7Oztq4caN69+592/dx/fr1kqSmTZvetJ6VlZUmTJiQZ9n7778v\nFxcXBQYG6uTJk3JxcVFiYqLeeOMNnTt3TvXr11eFChW0Z88eLVy4UOvXr9fixYtVunTp247zRuHh\n4Tp06JACAgJkGIa+/fZb9erVS+PHj1dAQICkf3+c6dOnj5ycnNSyZUsVKlRIP//8syZOnKikpCS9\n//77dz0+AJiVAQAALELnzp0NDw8P49ixY3mWT5o0yfDw8DBGjhxpZGZmmq7v2LHDqFy5svHCCy8Y\nV65cMQzDMDZu3Gh4eHgYHh4exoYNG0x1T506ZTRq1Mjw9vY2jh8/fscxZmRkGB07djQ8PDyM6Oho\n0/WpU6caHh4ehqenp9GzZ09j/PjxRnBwsFGxYkWjSpUqxpYtW27Zd9u2bQ0PDw/j9OnTeZbPmjXL\n8PDwMDp06GC6NmDAAMPDw8MYOHBgjrpZWVlGs2bNjOrVqxv79u3LURYWFmZ4eHgYy5YtMwzDMNLT\n042GDRsavr6+RkJCgqleYmKiUatWLcPDw8OYNWtWrjGv1d2/f79RsWJFo2XLlsY///xjqpeQkGBU\nrlzZ+O9//2u6VrduXaNu3bo54hk2bFiOeK5ZvXq14eHhYQwePNh0rX///oaHh4exatUq07VLly4Z\n7du3Nzw8PIzu3bvnee+uuXz5suHh4WE8//zzN62Xn9jYWMPDw8No0qSJkZqamqPsWgwrV67McX3+\n/PmGh4eH0bNnT9O1G+/hNampqYaHh4fRtm3bXGN6e3sbu3btMl1PTEw0qlevbtSuXdtISUkxDMMw\ngoKCDA8PD+PkyZOmemlpaYa/v7/h7e1t+t8HAFgatuIDAPCY+OKLL2RnZ6fhw4erQIECpuvVq1dX\nu3btdPbs2VyvxatTp45eeukl0+dSpUrprbfeUkZGhr777rs7Gj87O1vDhw/Xb7/9Jh8fnxxn7w3D\nUNmyZfXJJ59o9uzZGjx4sD799FPNnTtXGRkZGjZsmDIyMm5rnMjISEVERJj+Cw8P1xtvvKGPP/5Y\ndnZ2ea663vgwu23btunw4cPq0KFDruMBISEhKlCggFasWCFJ2r59u+kNANe/vs7V1TXHtv78rFmz\nRtnZ2XrnnXdMK+uS5ObmptDQUAUEBCgrKyvPtmlpafr666/l7e2tNm3a5Cjz9/eXt7e31qxZo9TU\nVF29elUbNmyQt7e3WrRoYapnZ2engQMH3jJO6X8P77v+rQvXmzNnTo57f+2/y5cv56jXqFEjFS5c\n2PT58OHD2rFjh+rVq6dXX301R92uXbvK09NTGzduVHJy8m3FmZdXX301x84PV1dXdejQQefOndPP\nP/8sSaajIb///rupno2NjSIjI7V161YVLVr0rscHAHNiKz4AAI+Bs2fP6tSpU6pTp06e28Nr1qyp\nBQsWaN++fTmSvuvPR19z7T3w+/btu+3xMzIyFBoaqlWrVum5557T9OnTc7zSrl+/furXr1+udvXq\n1VPz5s31zTffaMeOHapVq9Ytx7q2Xf2aIkWKyMXFRe3bt1f37t313HPP5Wpz4+v0du/eLUn666+/\nFBERkau+ra2t6bkE144RXNsafz0fH59bxnvtPlavXj1X2fVvE8jLwYMHlZ6eroyMjDzjzMrKUkZG\nhhISEmRtba20tLQ846xevXqez0K40bVjChcvXsyzfO7cuabnF1yvQ4cOeuqpp0yfb3xrw7V76evr\nm6utlZWVfHx8tH//fu3bty/PNx7cjrzmctWqVSX9+zdo3ry52rdvr02bNmnAgAGaMmWKGjZsqBdf\nfFG1atVSoUKF7mpcAHgUkNgDAPAYSElJkZT/O+2vnTm/evVqjuvOzs656l5LrC5dunTbY7/zzjv6\n5Zdf5Obmpvnz58vR0fG2Y69UqZK++eYbHT9+/LYS+59//vmOk7/rV4+l/yWuP/zwg3744Yd822Vk\nZOjChQuSlCNxvaZ48eK3HPvaWHZ2drcd7zXX/gYHDhzQgQMH8q134cIF0/MM8orTxsbmtlaj7e3t\nVbx4cV24cEHnzp2Tg4NDjvK4uLgcn3v06GFaDb/ejff7dudnamrqLWPMz+3M5ZdffllRUVGaN2+e\ntm7dqujoaEVHR8vBwUEDBgxQhw4d7np8ADAnEnsAAB4D15K506dP51l+LTm98SnnaWlpuepeS0Rv\nTOrycvbsWb311lvavXu3qlatqtmzZ+fZbteuXUpNTc1zxfZaDDcmgw+Sra2tJGnixImmB6vl51ry\nntcPHVeuXLntsS5fvmz69zWpqakqXLhwvqvp1+q3a9dOo0ePvuk4e/bskfS/JPp6WVlZef6t89Kk\nSROtWLFC69atU9u2bW+rza3can5em3PX5md+9+PGH6aud7tzuU6dOqpTp44uX76sbdu26ccff9TK\nlSv1/vvv69lnn1WdOnVu4xsBwKOFM/YAADwGHB0dVapUKR04cMCUxF9v+/btkqQKFSrkuP7nn3/m\nqrtz505JUrVq1W465pUrV9SzZ0/t3r1bdevWNa185iUoKEhdu3bNM+n87bffJOW91f1BuXaufteu\nXbnK0tPT9dFHHyk2NlaSTOe2rz+XfU1e7W/k4eEhSYqPj89VNnLkSFWrVs30OrobE1o3NzcVKFAg\n33HmzZunGTNm6NKlS3J1dVXRokXzjHPv3r35nuO/Ufv27WVtba1p06blOZeuZxjGbfXp5eUl6X/z\n8Ebbtm2TtbW1XF1dJcm0Lf7Gs/tHjx7Nd4zbmcuRkZGaNm2apH9/bGjUqJHCwsI0fPhwSf+biwBg\naUjsAQB4TLz++uu6cuWKwsPDcyRxf/zxhxYvXiwHBwc1bNgwR5vVq1frjz/+MH0+deqUZs2aJXt7\n+1u+7mz8+PHatWuXatWqpVmzZuVajb5e8+bNlZmZqcmTJ+e4/uWXX2rLli2qX7++nn322Tv5uvek\nbt26cnFx0aJFi3IlhNOnT1dUVJTpbHyNGjX07LPP6osvvshR9+TJk4qOjr7lWK1atZKVlZWmT5+e\n4+x6YmKi1q1bJzc3N9M28oIFC+Z4iKCdnZ2aNWtmei3c9X7++WdNmDBBX331lezs7FSkSBG98sor\nSkhIyFE3LS0t132/merVq6tnz546efKkunTpooSEhFx1zp8/r3HjxumXX36RJNMxgPyUL19ePj4+\n+v33300PJbxmwYIF2r17txo0aGA6wnEtwf/xxx9N9bKysjR79ux8x1i4cKGOHDli+nzw4EHFxsaq\nbNmyql27tqm/Tz/91PSMhWuuvSbxxmcxAIClYCs+AACPieDgYG3evFmff/65du/erdq1a+v06dNa\nt26drK2tFR4enuucta2trQIDA+Xn56eiRYtq7dq1OnfunD766KMcT3C/UVJSkpYuXSrp36Rt1qxZ\n+cZUsGBBvfPOO9q8ebMWLFigPXv2qHr16kpISNCmTZtUunTpW24zv98KFSqkcePGqXfv3urYsaOa\nNGmismXL6s8//9Svv/6q5557Tv3795ckFShQQB9++KHeeustde7cWX5+fipcuLC+//77fM+MX69i\nxYrq1auXZs6cqVatWumll15SVlaWVq1apaysLI0dO9ZU19nZWTt37lRoaKjq16+vli1bavjw4YqP\nj9eoUaP07bffqnLlyjpx4oTWrl2rIkWKaOzYsaaV/sGDB2vbtm0aNWqUfvzxR5UvX14///yzrl69\n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\nex8fH8LCwkhMTGTevHn06NHD0neHDh348ccf+e677yzt/xzjr1vh69evz8yZM0lMTGT8+PH85z//\nKfH+/8mqVasYNWqU5aGAmzdvxtbW1hLrlcpFRERERETuVFqxvw0FBQURFRVFSEgI+fn5jBw5kho1\navDAAw8wa9YsZqo2pQAAIABJREFUfH19iYyMZMiQIRQXF1O1alVmzZrFuXPnGD9+PDExMdja2jJx\n4kTg8hcF48aN49lnn8VoNLJ+/XqqVauGnZ1dmU+ZB2jdujVDhgxh2bJllqR72LBhREZGsnr1akwm\nEyNHjuSHH35gw4YNrFq1ioyMDEaNGsWqVato0aIFr7zyCm+88UaJfo1GIxMmTKCoqAiAadOmceLE\niWu+P/7+/gwcOJBq1apRtWpVHn30UQoKCkhPTyc+Pv6K5SIiIiIiIncqm+J/WrYVucNlx0759530\nDv/nOiJ/4enpQnb22YoOQ+4ymndS3jTnpCJo3klFKI955+npUmaZtuKLiIiIiIiIWDEl9iIiIiIi\nIiJWTIm9iIiIiIiIiBXTw/Pkruc55FWdwxIREREREaulFXsRERERERERK6bEXkRERERERMSKKbEX\nERERERERsWI6Yy93vVPL51zXN1zmJwbfslhERERERESul1bsRURERERERKyYEnsRERERERERK6bE\nXkRERERERMSKKbEXERERERERsWJK7G8DO3fuJDw8/JrqFhUVMWjQIEJCQsjNzWX9+vWl6kycOJGP\nP/7Y8vqpp55iypQpltcTJkxgy5YtTJs2jaNHj/6r2Pfv38/gwYMJDg6mf//+jBo1iqysrH/V59+F\nh4dTUFBAREQEaWlppKamEh0dfVPHEBERERERsVZK7K1MdnY2ubm5JCcnk56ezrZt20rV6dixI3v2\n7AEgIyODe+65h2+++cZS/u2339K2bVsiIyOpU6fODcdy4sQJxo0bx8SJE1m5ciXLli2jZ8+ezJo1\n64b7vJK5c+fi6Oh4U/sUERERERG5U+jn7m5j33zzDXPnzsXOzg5vb2+mTJlCVFQUR44c4dVXXyUj\nI4OffvqJVatW8dxzz1natWvXjsWLFwPw2Wef0blzZ7Zt28ahQ4eoVKkSXl5eODs7YzAYMBqNfPzx\nx2RmZnLq1CmOHj3KxIkTeeSRR/h//+//8c477+Ds7IybmxuNGjVi1KhRlnHWrVtHYGAgPj4+lmuP\nP/44Xbp0AbD07+vrS3JyMidPnmTUqFEkJiayYcMGbGxsCAgIoH///kRERJCXl0deXh6DBg0iNjYW\nBwcHgoKCeOedd/jkk0+ueI/eeustfvzxR86dO4evry9vvvkme/bsYebMmdjb2+Pq6kp0dDTOzs63\n4iMSERERERGpcErsb1PFxcVERUWxYsUKatSowbx581i7di2vvfYaY8eOZcqUKezcuZOVK1eWSOoB\nqlevjo2NDWfPniUtLY0pU6ZQWFhIWloabm5uPPLII6XGc3R0ZPHixWzfvp24uDjat2/P1KlTWbVq\nFR4eHrz88sul2mRmZvKf//wHgIsXLzJ48OXfdz927Bhbtmy54vs6dOgQH3/8MStWrMDGxoawsDA6\nduwIQNu2bQkLC2Pnzp3k5+eTkpICwDvvvHPFvkwmE66urixduhSz2Uz37t3Jyspiy5YtdO3alUGD\nBrFt2zbOnDmjxF5ERERERO5YSuxvUzk5OZw4cYIxY8YAlxPnDh06lFl/6NChnD9/noYNGxIVFUW7\ndu346quvyM3NpXbt2nTq1IlZs2ZRtWpVwsLCSrVv0qQJALVq1aKgoICcnBycnZ3x8PAAoHXr1pw8\nebJEm9q1a5OZmQlA5cqVSUxMBLhinMXFxQCkp6dz9OhRSwynT5/m999/B6B+/fqW+n/9uyyVKlUi\nJyeHsWPH4uTkxPnz57l06RLDhg1jwYIFDBgwAC8vL/z9/f+xLxEREREREWulxP425e7uTq1atXj/\n/fdxcXFh69atODk5lahja2uL2WwGYOHChSXKOnTowLvvvkubNm0A8Pb2Ji8vj5MnT9K4ceNS49nY\n2JR4XaNGDc6dO0dOTg7Vq1fn+++/p27duiXq9OrVi8GDB9OpUydLIv7jjz9y/vx54PIugOzsbHx9\nfdm/fz9eXl74+Pjg5+fH4sWLsbGxIT4+noYNG/Lpp5+WiMHW9p8f/5CWlsaxY8eYN28eOTk5bN68\nmeLiYtavX0/v3r2ZMGECCxcuZPXq1YwcOfIf+xMREREREbFGSuxvE9u3b6dPnz6W12+99RaRkZEM\nGTKE4uJiqlatyqxZs7hw4YKlzj333EN6ejrx8fGlVuFbtWrFvn37GD16tOVa48aNMZlM1xSPra0t\nUVFRDB48GBcXF8xmM/fee2+JOrVr1yY6OpqZM2dy7tw58vPzcXV1JS4uDoD+/fszZcoUateuTc2a\nNS0xtGvXjpCQEAoKCvD398fLy+u67tWf/P39ef/99wkKCsLR0RFvb29OnDjBgw8+SEREBE5OTjg4\nOJT4RQAREREREZE7jU3xn3ukRf5m4cKFDBw4EEdHR8aNG0fHjh3p1atXRYd1051aPue66pufGHyL\nIpG7iaenC9nZZys6DLnLaN5JedOck4qgeScVoTzmnaenS5llWrGXMlWtWpWgoCAqV65M3bp1CQgI\nqOiQRERERERE5G+U2EuZ+vXrR79+/So6DBEREREREbkKJfZy16vRd6y2a4mIiIiIiNX650ePi4iI\niIiIiMhtS4m9iIiIiIiIiBVTYi8iIiIiIiJixXTGXu56uR8uuq7/EQrbB9+yWERERERERK6XVuxF\nRERERERErJgSexERERERERErpsReRERERERExIopsRcRERERERGxYkrsbzM7d+6kUaNGfPzxxyWu\n9+jRg4iIiOvuKzw8HICRI0dedywXL14kIiKC559/nkGDBjF69Ghyc3Ovu58blZ+fT0pKCgCpqals\n3bq1zLqrVq3i0qVL5RWaiIiIiIjIbUOJ/W3Ix8eHDRs2WF4fPHiQCxcu/Ks+33333etus2bNGjw8\nPIiLi2PJkiW0aNGC995771/FcT2ys7MtiX2fPn3o0qVLmXUXLlyI2Wwur9BERERERERuG/q5u9tQ\n48aNOXLkCGfOnMHV1ZWPPvqIHj16cOzYMQA6dOjA9u3bAQgPDyc4OJiaNWsyceJE7O3tsbOzY9as\nWSX6/LONwWCgUaNG/Pzzzzg5OdG6dWu+/PJLzpw5Q1xcHG5ubpY2devW5YMPPqBly5a0adMGg8FA\ncXExAJ988gnx8fHY2trSqlUrxo0bR0xMDL/88gunTp3izJkzTJ48mdatW5OUlMSmTZsoLCzExcWF\nmJgYNmzYwJo1azCbzbz00kscPny4VJ0FCxZw6NAh3n33XYqLi/Hw8ODJJ59kzJgxFBcXc+nSJV5/\n/XX27t1LdnY24eHhTJ06tVR5o0aNyumTExERERERKX9asb9Nde3alc2bN1NcXMzevXtp0aLFVet/\n9dVXNG3alKVLlzJs2DBOnz5dZl1/f38SEhIoKCigcuXKLF26FD8/P3bt2lWi3qOPPsrw4cP54IMP\n6NKlC2FhYRw+fJi8vDxiYmKIj48nOTmZrKwsyxcNlStXZtmyZcyePZspU6ZgNpvJy8sjPj6eFStW\n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\nMhNTPz8//u///o8333yTqKgoJk+eTL9+/TCZTISGhpbawfDggw8SERGBk5MTDg4OTJky5Zpi/tO9\n995LlSpV6NOnD46Ojnh6enLixIlS9Vq0aMErr7xCXFwczZo147fffqNv376l6jVr1uyGnu7/18/7\nr7y9vRk/fjyjR48mJSWFSpUqkZWVhZ+f33WPISIiIiIiYi1siv+6X13kJjObzYSEhLBkyRKcnZ1L\nlb/66qsEBwdz//333/SxP//8c/bt21fqCMDfnd6y8pr6K2jW/WaEJQKAp6cL2dlnKzoMucto3kl5\n05yTiqB5JxWhPOadp6dLmWVWuxVfbn8ZGRn07t2bnj17XjGpBxg9ejQrVqy46WMXFxezfv16wsLC\nbnrfIiIiIiIitxOt2MtdTyv2UhG0miAVQfNOypvmnFQEzTupCBW9Yn9HnLEX+TfcHg/WP/4iIiIi\nImK1tBVfRERERERExIopsRcRERERERGxYkrsRURERERERKyYztjLXe/sVxuofIXrFxv8p9xjERER\nERERuV5asRcRERERERGxYkrsRURERERERKyYEnsRERERERERK6bEXkRERERERMSKKbGXq4qNjaVj\nx47k5+cDYDAYOHz4cKl6n3/+OQMGDGDgwIH079+fjz76CICYmBiSk5OvaazU1FSio6P/VbwRERGk\npaX9qz5ERERERESsiZ6KL1e1fv16AgIC2LhxI3369CmzntFo5MMPP8TV1RWTyUTPnj3p0KFDOUYq\nIiIiIiJyd9KKvZRp586d3HPPPQQHB7N8+fKr1q1RowbLli3j559/pmrVqnzyySfUqFEDgK1btzJg\nwAB69uzJtm3bAEhKSqJ///6EhoYydOhQCgoKAPjuu+8YMGAAzzzzDJ999hkAn376KQaDwfJfTk4O\nRUVFREZGMmjQIPr06cO8efMssaxYsYIBAwbQr18/fvvtt1twZ0RERERERG4fSuylTCkpKQQGBuLj\n44OjoyPff/99mXXnz5/PhQsXGDt2LB07dmThwoUUFxcD4OXlRUJCApMmTSI5ORmz2UxeXh7x8fGs\nWLGCwsJCfvjhBwCqVKlCfHw8sbGxTJkyBbPZzJEjR4iNjSUxMZH69evz5ZdfcuzYMZo3b86SJUtI\nTk4usd2/ZcuWJCQkMHjwYGbPnn1rb5KIiIjI/9fenUfXdPV/HH9fGZBJIrnUTEw1S6iKqlkpRRuV\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ad1db3208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Set the color palette in reverse\n",
    "colors = sns.color_palette('Reds', len(unknown_top25))\n",
    "colors.reverse()\n",
    "plt.figure(figsize=(14.6, 9.0))\n",
    "\n",
    "# Plot bar chart with index as y values\n",
    "ax = sns.barplot(unknown_top25.Attacks, unknown_top25.index, orient='h', palette=colors)\n",
    "ax.get_xaxis().set_major_formatter(plt.FuncFormatter(lambda x, loc: \"{:,}\".format(int(x))))\n",
    "\n",
    "# Reset the y labels\n",
    "ax.set_yticklabels(unknown_top25.Group)\n",
    "ax.set_xlabel(xlabel='Number of Attacks', fontsize=16)\n",
    "ax.set_title(label='Top 25 Predicted Groups', fontsize=20)\n",
    "plt.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### References\n",
    "\n",
    "Albon, C. (2017). Convert Pandas categorical data for scikit-learn Retrieved from https://chrisalbon.com/machine_learning/preprocessing_structured_data/convert_pandas_categorical_column_into_integers_for_scikit-learn/\n",
    "\n",
    "Keen, B. (2017). Feature scaling with scikit-learn Retrieved from http://benalexkeen.com/feature-scaling-with-scikit-learn/\n",
    "\n",
    "Saabas, A. (2014). Selecting good features – Part III: random forests Retrieved from http://blog.datadive.net/selecting-good-features-part-iii-random-forests/\n",
    "\n",
    "scikit-learn. (n.d.). Feature importances with forests of trees Retrieved from http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html#sphx-glr-auto-examples-ensemble-plot-forest-importances-py"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
